這裏寫目錄標題
1、容器的佈局
Qt 提供的佈局中以下三種是我們最常用的:
- QHBoxLayout:按照水平方向從左到右佈局;
- QVBoxLayout:按照豎直方向從上到下佈局;
- QGridLayout:在一個網格中進行佈局,類似於 HTML 的 table;
系統提供的佈局控件
這 4 個爲系統給我們提供的佈局的控件,但是使用起來不是非常的靈活,這裏就不詳細介紹 了。
利用 widget 做佈局
第二種佈局方式是利用控件裏的 widget 來做佈局,在 Containers 中
在 widget 中的控件可以進行水平、垂直、柵格佈局等操作,比較靈活。 再佈局的同時我們需要靈活運用彈簧的特性讓我們的佈局更加的美觀,下面是一個登陸窗 口,利用 widget 可以搭建出如下登陸界面:
2、QListWidget(列表控件)
查找相關api
構造函數中
//列表控件
//往列表控件裏面添加 item
QListWidgetItem *item = new QListWidgetItem("處處吻");//單個添加
ui->listWidget->addItem(item);
//王列表控件中連續添加
QStringList list;
list<<"下山"<<"把孤獨當晚餐"<<"世間美好與你環環相扣";
ui->listWidget->addItems(list);
connect(ui->listWidget,&QListWidget::itemClicked,[=](QListWidgetItem *item){
qDebug()<<item->text().toUtf8().data(); //toUtf8().data() 的作用是去除雙引號
});
運行結果:
3、QTreeWidget(樹控件)
手動輸入
查找相關api
//設置樹控件的頭信息
QStringList List;
List<<"英雄"<<"英雄介紹";
ui->treeWidget->setHeaderLabels(List);
//添加頂層控件
QTreeWidgetItem *item1 = new QTreeWidgetItem(QStringList()<<"德瑪西亞");
ui->treeWidget->addTopLevelItem(item1);
//QTreeWidgetItem *child = new QTreeWidgetItem(QStringList()<<"上單"<<"坦克,攻高防厚");
//item1->addChild(child);
item1->addChild(new QTreeWidgetItem(QStringList()<<"上單"<<"坦克,攻高防厚"));
QTreeWidgetItem *item2 = new QTreeWidgetItem(QStringList()<<"盲僧");
ui->treeWidget->addTopLevelItem(item2);
item2->addChild(new QTreeWidgetItem(QStringList()<<"打野"<<"戰士,攻高防少"));
QTreeWidgetItem *item3 = new QTreeWidgetItem(QStringList()<<"提莫");
ui->treeWidget->addTopLevelItem(item3);
item3->addChild(new QTreeWidgetItem(QStringList()<<"上單"<<"法師,攻高防少"));
//動起來
connect(ui->treeWidget, &QTreeWidget::itemClicked,[](QTreeWidgetItem *item,int column){
qDebug()<< item->text(column).toUtf8().data() <<endl;
} );
運行結果:
4、QTableWidget(表格控件)
5、下拉列表框(Combo BOX)
設置默認選項
信號
6、QLabel控件的使用
6、1、Qlabel設置文本
6、2、設置圖片
6.2.1、添加圖片資源
6.2.2、QPixmap 對象加載圖片
6.3、設置動畫