1:按鈕組
1.1:QPushButton 常用按鈕
1.2:QToolButton 工具按鈕 可以用來顯示圖片 顯示文字
修改風格 toolButtonStyle 例如凸起風格 autoRaise
1.3:radioButton 單選按鈕 默認選項設置 ui->rBtnMan->setChecked(true);
1.4: checkbox多選按鈕,監聽狀態,2 選中 1 半選 0 未選中
2:QListWidget 列表容器
2.1:QListWidgetItem * item 一行內容
2.2:ui->listWidget ->addItem ( item )
2.3:設置居中方式item->setTextAlignment(Qt::AlignHCenter);
2.4:可以利用addItems一次性添加整個詩內容
例:
// //利用listWidget寫詩
// QListWidgetItem *item = new QListWidgetItem("鋤禾日當午");
// //將一行詩放入到listWidget控件中
// ui->listWidget->addItem(item);
// //設置對齊方式 例如居中
// item->setTextAlignment(Qt::AlignHCenter);
3:QTreeWidget 樹控件
3.1:設置頭
3.1.1:ui->treeWidget->setHeaderLabels(QStringList()<< “英雄”<< “英雄介紹”);
3.2:創建根節點
3.2.1:QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< “力量”);
3.3:添加根節點 到 樹控件上
3.3.1:ui->treeWidget->addTopLevelItem(liItem);
3.4:添加子節點
3.4.1:liItem->addChild(l1);
例:
//treeWidget樹控件使用
//設置 水平頭
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介紹");
QTreeWidgetItem *liItem = new QTreeWidgetItem(QStringList()<<"力量");
QTreeWidgetItem *miItem = new QTreeWidgetItem(QStringList()<<"敏捷");
QTreeWidgetItem *ziItem = new QTreeWidgetItem(QStringList()<<"智力");
//加載頂層節點
ui->treeWidget->addTopLevelItem(liItem);
ui->treeWidget->addTopLevelItem(miItem);
ui->treeWidget->addTopLevelItem(ziItem);
//追加子節點
QStringList heroL1,heroL2;
heroL1 << "剛被豬" << "前排坦克,能在吸收傷害的同時造成可觀的範圍輸出";
heroL2 << "船長" << "前排坦克,能肉能輸出能控場的全能英雄";
QTreeWidgetItem *l1 = new QTreeWidgetItem(heroL1);
liItem->addChild(l1);
QTreeWidgetItem *l2 = new QTreeWidgetItem(heroL2);
liItem->addChild(l2);
QStringList heroM1,heroM2;
heroM1 << "月騎" << "中排物理輸出,可以使用分裂利刃攻擊多個目標";
heroM2 << "小魚人" << "前排戰士,擅長偷取敵人的屬性來增強自身戰力";
QTreeWidgetItem *m1 = new QTreeWidgetItem(heroM1);
miItem->addChild(m1);
QTreeWidgetItem *m2 = new QTreeWidgetItem(heroM2);
miItem->addChild(m2);
QStringList heroZ1,heroZ2;
heroZ1 << "死靈法師" << "前排法師坦克,魔法抗性較高,擁有治療技能";
heroZ2 << "巫醫" << "後排輔助法師,可以使用奇特的巫術詛咒敵人與治療隊友";
QTreeWidgetItem *z1 = new QTreeWidgetItem(heroZ1);
ziItem->addChild(z1);
QTreeWidgetItem *z2 = new QTreeWidgetItem(heroZ2);
ziItem->addChild(z2);
4:QTableWidget 表格控件
4.1:設置列數
4.1.1:ui->tableWidget->setColumnCount(3);
4.2 設置水平表頭
4.2.1 ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<“姓名”<< “性別”<< “年齡”);
4.3 設置行數
4.3.1 ui->tableWidget->setRowCount(5);
4.4 設置正文
4.4.1 ui->tableWidget->setItem(0,0, new QTableWidgetItem(“亞瑟”));
例:
//TableWidget控件
//設置列數
ui->tableWidget->setColumnCount(3);
//設置水平表頭
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性別"<<"年齡");
//設置行數
ui->tableWidget->setRowCount(5);
//設置正文
//ui->tableWidget->setItem(0,0,new QTableWidgetItem("亞瑟"));
QStringList nameList;
nameList<<"亞瑟"<<"妲己"<<"安其拉"<<"孫悟空"<<"羋月";
QList<QString> sexList;
sexList <<"男"<<"女"<<"女"<<"男"<<"女";
for(int i=0;i<5;i++)
{
int col = 0;
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
//int轉爲QString
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));
}
5:其他控件介紹
5.1:stackedWidget 棧控件
5.1.1:ui->stackedWidget->setCurrentIndex(1);
5.2:下拉框
5.2.1:ui->comboBox->addItem(“奔馳”);
ui->comboBox->addItem(“寶馬”);
ui->comboBox->addItem(“特斯拉”);
5.3:QLabel 顯示圖片
5.3.1:ui->lbl_Image->setPixmap(QPixmap(":/Image/butterfly.png"))
5.4:QLabel顯示動圖 gif圖片
5.4.1:ui->lbl_movie->setMovie(movie);
5.4.2:movie->start();
6 自定義控件封裝
6.1 添加新文件 - Qt – 設計師界面類 (.h .cpp .ui)
6.2 .ui中 設計 QSpinBox和QSlider 兩個控件
6.3 Widget中使用自定義控件,拖拽一個Widget,點擊提升爲,點擊添加,點擊提升
6.4 實現功能,改變數字,滑動條跟着移動 ,信號槽監聽。
6.5 提供 getNum 和 setNum對外接口
6.6 測試接口
自定義類的UI
Widget的UI
最終成果