国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

04-5_Qt 5.9 C++開發(fā)指南_QComboBox和QPlainTextEdit

這篇具有很好參考價值的文章主要介紹了04-5_Qt 5.9 C++開發(fā)指南_QComboBox和QPlainTextEdit。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 實例功能概述

QComboBox 是下拉列表框組件類,它提供一個下拉列表供用戶選擇,也可以直接當(dāng)作一個QLineEdit 用作輸入。OComboBox 除了顯示可見下拉列表外,每個項 (item,或稱列表項)還可以關(guān)聯(lián)一個 QVariant 類型的變量,用于存儲一些不可見數(shù)據(jù)。
QPlainTextEdit 是一個多行文本編輯器,用于顯示和編輯多行簡單文本。實例 samp4_6 演示QComboBox和QPlainTextEdit 的使用,其運行時界面如圖4-6 所示。

04-5_Qt 5.9 C++開發(fā)指南_QComboBox和QPlainTextEdit,# Qt 5.9 C++開發(fā)指南,qt,c++

關(guān)于"QComboBox 的使用"和“QPlainTextEdit 的使用”請參考下面源碼和《Qt5.9 c++開發(fā)指南》

2. 源碼

2.1 可視化UI設(shè)計

04-5_Qt 5.9 C++開發(fā)指南_QComboBox和QPlainTextEdit,# Qt 5.9 C++開發(fā)指南,qt,c++文章來源地址http://www.zghlxwxcb.cn/news/detail-632688.html

2.2 widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_btnIniItems_clicked();

    void on_btnClearItems_clicked();

    void on_chkBoxEditable_clicked(bool checked);

    void on_comboBox_currentIndexChanged(const QString &arg1);

    void on_btnClearText_clicked();

    void on_chkBoxReadonly_clicked(bool checked);

    void on_btnToComboBox_clicked();

    void on_plainTextEdit_customContextMenuRequested(const QPoint &pos);

    void on_btnIni2_clicked();

    void on_comboBox2_currentIndexChanged(const QString &arg1);

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

2.3 widget.cpp

#include "widget.h"
#include "ui_widget.h"

#include    <QTextDocument>
#include    <QTextBlock>
#include    <QMenu>

#include    <QMap>
#include    <QVariant>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_btnIniItems_clicked()
{ //"初始化列表"按鍵
    QIcon   icon;
    icon.addFile(":/images/icons/aim.ico");

    ui->comboBox->clear(); //清除列表
    for (int i=0;i<20;i++)
        ui->comboBox->addItem(icon,QString::asprintf("Item %d",i)); //添加一個字符串
//        ui->comboBox->addItem(QString::asprintf("Item %d",i)); //添加一個字符串

//    QStringList strList;
//    strList<<"北京"<<"上海"<<"天津"<<"河北省"<<"山東省"<<"山西省";
//    ui->comboBox->addItems(strList);
}

void Widget::on_btnClearItems_clicked()
{
    ui->comboBox->clear(); //清除條目
}

void Widget::on_chkBoxEditable_clicked(bool checked)
{ //設(shè)置comboBox是否可編輯
    ui->comboBox->setEditable(checked);
}

void Widget::on_comboBox_currentIndexChanged(const QString &arg1)
{ //comboBox選擇一個條目時,文本添加到 plainTextEdit
    ui->plainTextEdit->appendPlainText(arg1);
}

void Widget::on_btnClearText_clicked()
{ //清除文本框
   ui->plainTextEdit->clear();
}

void Widget::on_chkBoxReadonly_clicked(bool checked)
{//設(shè)置 plainTextEdit 的 ReadOnly 屬性
    ui->plainTextEdit->setReadOnly(checked);
}

void Widget::on_btnToComboBox_clicked()
{ //plainTextEdit 的內(nèi)容逐行添加為 comboBox 的條目
    QTextDocument*  doc=ui->plainTextEdit->document(); //QPlainTextEdit 的內(nèi)容保存在一個 QTextDocument 里
    int cnt=doc->blockCount();//QTextDocument分塊保存內(nèi)容,文本文件就是硬回車符是一個block,

    QIcon   icon(":/images/icons/aim.ico");

    ui->comboBox->clear();  //清除條目
    for (int i=0; i<cnt;i++) //掃描所有 blobk
    {
         QTextBlock textLine=doc->findBlockByNumber(i);//用blobk編號獲取block,就是獲取一行
         QString str=textLine.text(); //轉(zhuǎn)換為文本
         ui->comboBox->addItem(icon,str); //添加一個條目到comboBox
    }
}

void Widget::on_plainTextEdit_customContextMenuRequested(const QPoint &pos)
{ //創(chuàng)建并顯示標(biāo)準(zhǔn)彈出式菜單
    QMenu* menu=ui->plainTextEdit->createStandardContextMenu(); //創(chuàng)建標(biāo)準(zhǔn)右鍵菜單
//    menu->exec(QCursor::pos());//在鼠標(biāo)光標(biāo)位置顯示右鍵快捷菜單
    menu->exec(pos);//在鼠標(biāo)光標(biāo)位置顯示右鍵快捷菜單
}

void Widget::on_btnIni2_clicked()
{//初始化具有自定義數(shù)據(jù)的comboBox
//QMap自動根據(jù) key排序
    QMap<QString, int> City_Zone;
    City_Zone.insert("北京",10);
    City_Zone.insert("上海",21);
    City_Zone.insert("天津",22);
    City_Zone.insert("大連",411);
    City_Zone.insert("錦州",416);
    City_Zone.insert("徐州",516);
    City_Zone.insert("福州",591);
    City_Zone.insert("青島",532);

    ui->comboBox2->clear();

    foreach(const QString &str,City_Zone.keys())
        ui->comboBox2->addItem(str,City_Zone.value(str));
}

void Widget::on_comboBox2_currentIndexChanged(const QString &arg1)
{ //條目有用戶數(shù)據(jù)
    QString zone=ui->comboBox2->currentData().toString();
    ui->plainTextEdit->appendPlainText(arg1+":區(qū)號="+zone);
}

到了這里,關(guān)于04-5_Qt 5.9 C++開發(fā)指南_QComboBox和QPlainTextEdit的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 16-1_Qt 5.9 C++開發(fā)指南_多語言界面

    16-1_Qt 5.9 C++開發(fā)指南_多語言界面

    有些軟件需要開發(fā)多語言界面版本,如中文版和英文版,并且在軟件里可以方便地切換界面語言。Qt 為多語言界面提供了很好的支持,使用 Qt 的一些規(guī)則和工具,可以很方便地為應(yīng)用程序開發(fā)提供多語言界面支持。 用 Qt 開發(fā)多語言界面應(yīng)用程序,主要包括以下幾個步驟。

    2024年02月14日
    瀏覽(23)
  • 07-3_Qt 5.9 C++開發(fā)指南_文件目錄操作

    07-3_Qt 5.9 C++開發(fā)指南_文件目錄操作

    Qt 為文件和目錄操作提供了一些類,利用這些類可以方便地實現(xiàn)一些操作。Qt 提供的與文件和目錄操作相關(guān)的類包括以下幾個。 QCoreApplication:用于提取應(yīng)用程序路徑、程序名等文件信息 QFile: 除了打開文件操作外,QFile 還有復(fù)制文件、刪除文件等功能 QFileInfo:用于提取文件的信

    2024年02月13日
    瀏覽(48)
  • 09-1_Qt 5.9 C++開發(fā)指南_Qchart概述

    09-1_Qt 5.9 C++開發(fā)指南_Qchart概述

    Qt Charts 可以很方便地繪制常見的折線圖、柱狀圖、餅圖等圖表,不用自己耗費時間和精力開發(fā)繪圖組件或使用第三方組件了。 本章首先介紹 Qt Charts 的基本特點和功能,以畫折線圖為例詳細說明 Qt Charts 各主要部件的操作方法,再介紹各種常用圖表的繪圖方法,最后介紹鼠標(biāo)

    2024年02月13日
    瀏覽(68)
  • 16-4_Qt 5.9 C++開發(fā)指南_Qt 應(yīng)用程序的發(fā)布

    用 Qt 開發(fā)一個應(yīng)用程序后,將應(yīng)用程序提供給用戶在其他計算機上使用就是應(yīng)用程序的發(fā)布。應(yīng)用程序發(fā)布一般會提供一個安裝程序,將應(yīng)用程序的可執(zhí)行文件及需要的運行庫安裝到用戶計算機上,即使用戶計算機上沒有安裝 Qt 也能正常運行安裝的程序。 Qt的應(yīng)用程序發(fā)布

    2024年02月14日
    瀏覽(95)
  • 15-1_Qt 5.9 C++開發(fā)指南_Qt多媒體模塊概述

    15-1_Qt 5.9 C++開發(fā)指南_Qt多媒體模塊概述

    多媒體功能指的主要是計算機的音頻和視頻的輸入、輸出、顯示和播放等功能,Qt 的多媒體模塊為音頻和視頻播放、錄音、攝像頭拍照和錄像等提供支持,甚至還提供數(shù)字收音機的支持。本章將介紹 Qt 多媒體模塊的功能和使用。 Qt 多媒體模塊提供了很多類,可以實現(xiàn)如下的

    2024年02月13日
    瀏覽(39)
  • 12-4_Qt 5.9 C++開發(fā)指南_創(chuàng)建和使用共享庫

    12-4_Qt 5.9 C++開發(fā)指南_創(chuàng)建和使用共享庫

    除了靜態(tài)庫,Qt 還可以創(chuàng)建共享庫, 也就是 Windows 平臺上的動態(tài)鏈接庫 。動態(tài)鏈接庫項目編譯后生成 DLL 文件,DLL 文件在 windows 平臺上應(yīng)用廣泛。DLL 文件是在應(yīng)用程序運行時加載的,不像靜態(tài)庫那樣在編譯期間就連編到應(yīng)用程序里。若更新了 DLL 文件版本,只要接口未變,

    2024年02月14日
    瀏覽(31)
  • 08-3_Qt 5.9 C++開發(fā)指南_Graphics View繪圖架構(gòu)

    08-3_Qt 5.9 C++開發(fā)指南_Graphics View繪圖架構(gòu)

    采用QPainter 繪圖時需要在繪圖設(shè)備的 paintEvent()事件里編寫繪圖的程序,實現(xiàn)整個繪圖過程。這種方法如同使用 Windows 的畫圖軟件在繪圖,繪制的圖形是位圖,這種方法適合于繪制復(fù)雜性不高的固定圖形,不能實現(xiàn)圖件的選擇、編輯、拖放、修改等功能。 Qt 為繪制復(fù)雜的可交

    2024年02月13日
    瀏覽(28)
  • 06-2_Qt 5.9 C++開發(fā)指南_自定義對話框及其調(diào)用

    06-2_Qt 5.9 C++開發(fā)指南_自定義對話框及其調(diào)用

    本篇介紹到的對話框及其調(diào)用實例較為復(fù)雜但十分詳細,如果做了解可以先參考:QT從入門到實戰(zhàn)x篇_13_模態(tài)和非模態(tài)對話框創(chuàng)建。 在一個應(yīng)用程序設(shè)計中,為了實現(xiàn)一些特定的功能,必須設(shè)計自定義對話框。自定義對話框的設(shè)計一般從QDialog 繼承,并且可以采用 UI 設(shè)計器可

    2024年02月13日
    瀏覽(35)
  • 14-5_Qt 5.9 C++開發(fā)指南_基于HTTP 協(xié)議的網(wǎng)絡(luò)應(yīng)用程序

    14-5_Qt 5.9 C++開發(fā)指南_基于HTTP 協(xié)議的網(wǎng)絡(luò)應(yīng)用程序

    Qt 網(wǎng)絡(luò)模塊提供一些類實現(xiàn) OSI 7 層網(wǎng)絡(luò)模型中高層的網(wǎng)絡(luò)協(xié)議,如 HTTP、FTP、SNMP等,這些類主要是 QNetworkRequest、QNetworkReply和QNetworkAccessManager。 QNetworkRequest 類通過一個URL 地址發(fā)起網(wǎng)絡(luò)協(xié)議請求,也保存網(wǎng)絡(luò)請求的信息,目前支持 HTTP、FTP 和局部文件 URLs的下載或上傳。 QNe

    2024年02月13日
    瀏覽(28)
  • 07-2_Qt 5.9 C++開發(fā)指南_二進制文件讀寫(stm和dat格式)

    07-2_Qt 5.9 C++開發(fā)指南_二進制文件讀寫(stm和dat格式)

    除了文本文件之外,其他需要按照一定的格式定義讀寫的文件都稱為二進制文件 。每種格式的二進制文件都有自己的格式定義,寫入數(shù)據(jù)時按照一定的順序?qū)懭?,讀出時也按照相應(yīng)的順序讀出。例如地球物理中常用的 SEG-Y 格式文件,必須按照其標(biāo)準(zhǔn)格式要求寫入數(shù)據(jù)才符合

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包