天天看點

Qt 常用控件介紹

Qt 常用控件介紹

ui中的控件要使用ui來指向:ui->xxx控件名稱。

Buttons

Push Button:普通按鈕

Tool Button:可以隐藏文字隻顯示圖檔

Radio Button:單選框

Check Box:複選框。可以有三種狀态,對勾選擇為2、方塊為1(tristate)、不選為0。

1     connect(ui->checkBox, &QCheckBox::stateChanged, [=](int status){
2         if (0 == status) {
3             QMessageBox::information(this, "information0", QString(status));
4         } else if (1 == status) {
5             QMessageBox::information(this, "information1", QString(status));
6         } else {
7             QMessageBox::information(this, "information2", QString(status));
8         }
9     });           

Containers

Group Box:可以将單選框/複選框分組,在本控件内的單選框/複選框為一組。

Widget:

Display Widgets

Label:可以顯示文字、圖檔、動圖。

【領QT開發教程學習資料,點選下方連結莬費領取↓↓,先碼住不迷路~】

點選→領取「連結」

1     ui->label->setPixmap(QPixmap(":/xxx/xxx.png")); //添加圖盤對象
2     ui->label->setScaledContents(true); //設定填充
3     
4     QMovie *mv = new QMovie(":/xxx/xxx.png");
5     ui->label->setMovie(mv); //添加動圖
6     ui->label->setScaledContents(true);
7     mv->start(); //開始動圖           

Item Views

List View

Tree View

Table View

Column View

Item Widgets:繼承自Item Views,功能較多,建議使用

List Widget

1     QStringList names;
2     names << "55555" << "44444" << "33333" << "22222" << "11111";
3     ui->listWidget->addItems(names);
4     connect(ui->listWidget, &QListWidget::currentRowChanged, [=](int currentRow){
5         qDebug() << QString("選擇的是第%1行").arg(currentRow);
6     });           
Qt 常用控件介紹

Tree Widget

1     //設定頭标簽
 2     ui->treeWidget->setHeaderLabels(QStringList() << "人物" << "人物簡介");
 3     //建立項
 4     QTreeWidgetItem *item1 = new QTreeWidgetItem(QStringList() << "A公司");
 5     QTreeWidgetItem *item2 = new QTreeWidgetItem(QStringList() << "B公司");
 6     QTreeWidgetItem *item3 = new QTreeWidgetItem(QStringList() << "C公司");
 7     //添加top項
 8     ui->treeWidget->addTopLevelItem(item1);
 9     ui->treeWidget->addTopLevelItem(item2);
10     ui->treeWidget->addTopLevelItem(item3);
11     //建立項
12     QTreeWidgetItem *item1_1 = new QTreeWidgetItem(QStringList() << "張三" << "你好");
13     QTreeWidgetItem *item1_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");
14     QTreeWidgetItem *item2_1 = new QTreeWidgetItem(QStringList() << "張三" << "你好");
15     QTreeWidgetItem *item2_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");
16     QTreeWidgetItem *item3_1 = new QTreeWidgetItem(QStringList() << "張三" << "你好");
17     QTreeWidgetItem *item3_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");
18  
19     //添加子項
20     item1->addChild(item1_1);
21     item1->addChild(item1_2);
22     item2->addChild(item2_1);
23     item2->addChild(item2_2);
24     item3->addChild(item3_1);
25     item3->addChild(item3_2);           
Qt 常用控件介紹

Table Widget

1     //設定行列
 2     ui->tableWidget->setRowCount(5);
 3     ui->tableWidget->setColumnCount(3);
 4     //設定水準标簽頭
 5     ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年齡");
 6     //設定表格項
 7     QStringList names;
 8     names << "A" << "B" << "C" << "D" << "E";
 9     QStringList sex;
10     sex << "男" << "女" << "男" << "女" << "男";
11     for (int i = 0; i < 5; i++) {
12         ui->tableWidget->setItem(i, 0, new QTableWidgetItem(names[i]));
13         ui->tableWidget->setItem(i, 1, new QTableWidgetItem(sex[i]));
14         ui->tableWidget->setItem(i, 2, new QTableWidgetItem(QString::number(20 + i)));
15     }           
Qt 常用控件介紹

繼續閱讀