Qt學習(4)控件

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
在這裏插入圖片描述

最終成果
在這裏插入圖片描述

發佈了45 篇原創文章 · 獲贊 39 · 訪問量 3189
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章