柚子快報邀請碼778899分享:ui QT
柚子快報邀請碼778899分享:ui QT
目錄
1. 布局(Layout)
?2. 彈簧(Spacers)
?3. 按鈕(Bottons)
?3.1 Push Botton
3.2 QToolButton
?3.3 Radio Button(單選)
3.3.1 設(shè)置Radio Button控件
3.3.2 設(shè)置默認(rèn)勾選
3.3.3 設(shè)置勾選時進(jìn)行的操作
3.4 Check Box(復(fù)選)
?4. Item Widgets
?4.1?QListWidget
?4.1.1 代碼實現(xiàn)
?4.3.2 ui 實現(xiàn)
4.2?QTreeWidget
4.2.1 代碼實現(xiàn)
?4.2.2 ui 實現(xiàn)
4.3?QTableWidget
4.3.1 ui實現(xiàn)
?編輯??編輯??編輯??編輯?
5. Containers
5.1 Group Box
5.2 Scroll Area
5.3 Tool Box
5.4 Tab Widget
5.5 Stacked Widget
5.6 Dock Widget
?5.6.1 代碼實現(xiàn)
?5.6.2 ui 實現(xiàn)
6. Input Widgets
?6.1 Combo Box
6.1.1 代碼實現(xiàn)
6.1.2? ui 實現(xiàn)
6.2 Font Combo Box
?編輯
6.3 Line Edit
??編輯
6.3 Text Edit
?6.4 Plain Text Edit
6.5 Spin Box
6.6 Double Spin Box
6.7 Time Edit
6.8 Date Edit
6.9 Date/Time Edit
6.10 Dial
6.11 Horizontal Scroll Bar
6.12 Vertical Scroll Bar
6.13 Horizontal Slider
6.14 Vertical Slider
6.15 Key Sequence Edit
7. Display Widgets
7.1 Label
?編輯??編輯
7.1.2 添加動圖
1. 布局(Layout)
?非常常用
1.可以直接拖動創(chuàng)建一個指定布局窗口
2.也可先把控件放在同一個Widget窗口中,再選擇布局
?2. 彈簧(Spacers)
可以控制控件的位置
選中彈簧在屬性欄中可以控制彈簧大?。‵ixed為固定彈簧)
?3. 按鈕(Bottons)
常用的有
Push Botton
?3.1 Push Botton
點擊響應(yīng)
加載圖標(biāo)
加載圖標(biāo),在屬性欄中icon模塊選擇資源
在inconSize中修改圖標(biāo)大小
3.2 QToolButton
工具按鈕,常用于顯示圖片,可以通過調(diào)整按鈕的類型來調(diào)整文字與圖片的關(guān)系
ToolButtonIconOnly? ?只顯示圖片
ToolButtonTextOnly? ?只顯示文本
ToolButtonTextBesideIcon? ?文本在圖片旁
如圖第二個按鈕為ToolButtonIconOnly類型
autoRaise控制背景是否透明
?3.3 Radio Button(單選)
3.3.1 設(shè)置Radio Button控件
單獨放是可以選中
放在同一個框框中可以做到只能選一個
?
3.3.2 設(shè)置默認(rèn)勾選
初始是都沒選中
可通過代碼來實現(xiàn)默認(rèn)選項使用? Radio Button->setChecked(true)
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//單選按鈕 默認(rèn)選中 男
ui->rbtn_man->setChecked(true);
}
?運行結(jié)果
3.3.3 設(shè)置勾選時進(jìn)行的操作
使用connect來鏈接點擊后的操作
//點擊女單選按鈕 打印輸出
connect(ui->rbtn_woman,&QRadioButton::clicked,[=](){
qDebug()<<"選中“女”";
});
?
3.4 Check Box(復(fù)選)
可以同時多選
Check Box作為信號有專門的發(fā)信號函數(shù),stateChanged有參數(shù)state
槽函數(shù)必須要有int 這個參數(shù)
//復(fù)選按鈕 點擊環(huán)境好后 監(jiān)聽
connect(ui->checkBox,&QCheckBox::stateChanged,[=](int state){
qDebug()< }); ?2為全選中? ? 0為未選中 可在屬性欄中勾選tristate選項可以觸發(fā)半選? 輸出1 ? ?4. Item Widgets QListWidget QTreeWidget QTableWidget ?4.1?QListWidget QListWidget 是qt中的列表框控件,它用于顯示多個列表項 列表項對應(yīng)的類是QListWidgetItem. ?4.1.1 代碼實現(xiàn) 使用QListWidgetItem? ? ? ? ? 創(chuàng)建列表項 ui->listWidget->addItem()? ? 將列表項加載到控件中 item->setTexAlignment(Qt::? ?)? ? ? 設(shè)置對齊方式 ui->listWidget->addItems(QStringList)可以一次性放入多個列表項,但不能設(shè)置對齊方式 //listWidget QListWidgetItem* item = new QListWidgetItem("鋤禾日當(dāng)午"); ui->listWidget->addItem(item); //居中 item->setTextAlignment(Qt::AlignHCenter); //QStringList QList QStringList list; list << "鋤禾日當(dāng)午" <<"汗滴禾下土" << "誰知盤中餐" << "粒粒皆辛苦"; //addItems參數(shù)為QStringList 可以放多行 但不能居中 ui->listWidget->addItems(list); ?運行結(jié)果? ?4.3.2 ui 實現(xiàn) 可以輕松實現(xiàn)各種功能 ? 4.2?QTreeWidget 4.2.1 代碼實現(xiàn) QTreeWidget 是 Qt 框架提供的一種樹形控件,它能以樹形結(jié)構(gòu)展示數(shù)據(jù)(或者文件)之間的包含關(guān)系。 頭:ui->treeWidget->setHeaderLables (QStringList); 根:ui->treeWidget->addTopLevelItem (QTreeWidgetItem*); 枝:QTreeWidgetItem->addChild (QTreeWidgetItem*); //treeWidget樹控件使用 //設(shè)置頭 ui->treeWidget->setHeaderLabels(QStringList() << "英雄" << "分路"); QTreeWidgetItem* proItem1 = new QTreeWidgetItem(QStringList() << "中路"); QTreeWidgetItem* proItem2 = new QTreeWidgetItem(QStringList() << "對抗路"); QTreeWidgetItem* proItem3 = new QTreeWidgetItem(QStringList() << "發(fā)育路"); //將根放到樹中 ui->treeWidget->addTopLevelItem(proItem1); ui->treeWidget->addTopLevelItem(proItem2); ui->treeWidget->addTopLevelItem(proItem3); QStringList hero1; QStringList hero2; QStringList hero3; hero1 << "馬超" << "以吃中路兵線文明,接管中路并線則征服峽谷"; hero2 << "馬超" << "對抗路一哥,自加強兩星期后慘遭大砍"; hero3 << "元神" << "著名演員桑杰倫說到,除非對抗路削弱,否則元神就是打發(fā)育路"; QTreeWidgetItem* l1 = new QTreeWidgetItem(hero1); QTreeWidgetItem* l2 = new QTreeWidgetItem(hero2); QTreeWidgetItem* l3 = new QTreeWidgetItem(hero3); //在根里添加枝杈 proItem1->addChild(l1); proItem2->addChild(l2); proItem3->addChild(l3); ?? ?4.2.2 ui 實現(xiàn) ?? ?? 4.3?QTableWidget 4.3.1 ui實現(xiàn) ???? 5. Containers Group Box? ? ? ? ? ?分組容器 Scroll Area? ? ? ? ?? 可以上下滑動的窗口 Tool Box? ? ? ? ? ? ? ?分組容器 Tab Widget? ? ? ? ? ?多個標(biāo)簽的窗口 Stacked Widget? ??棧容器窗口,可以鏈接按鈕 5.1 Group Box 一個分組容器,可以將一些控件組在一個區(qū)域,便于功能分區(qū) ?? 5.2 Scroll Area 對區(qū)域內(nèi)增加一個上下滑動的滑塊 ?? 5.3 Tool Box 分組區(qū)域 ? ?在對象欄中右鍵可以添加頁 ?? 選中ToolBox在屬性欄中可以設(shè)置各種屬性 ?? 可以在每個欄下面拖入控件 ? 5.4 Tab Widget 可以作為瀏覽標(biāo)簽 ? 選中tabWidget對象,在屬性欄中可以設(shè)置各種屬性? ??? 同理,可以在標(biāo)簽頁面添加各種控件 ? 右鍵對象,可以添加標(biāo)簽? ?? 5.5 Stacked Widget 棧容器,可以通過按鈕來設(shè)置第幾頁的內(nèi)容 ?將兩個容器分別放入棧的兩個位置中,通過右上角進(jìn)行翻頁 ?? 放入之后再對象欄中可以看到棧里面有兩個對象? ? 設(shè)置兩個按鈕來控制,否則默認(rèn)為打開第一頁,且不會再運行窗口中進(jìn)行翻頁? ? 代碼進(jìn)行鏈接 //點擊按鈕 切換 stacked容器 connect(ui->bt_scrollArea,&QPushButton::clicked,[=](){ ui->stackedWidget->setCurrentIndex(0); }); connect(ui->bt_ToolBox,&QPushButton::clicked,[=](){ ui->stackedWidget->setCurrentIndex(1); }); ?運行結(jié)果 ? 同理在對象欄中右鍵選擇添加棧容量? ? 5.6 Dock Widget 鉚接部件(浮動窗口) ?5.6.1 代碼實現(xiàn) //鉚接部件 (浮動窗口) QDockWidget* dock = new QDockWidget("aaa",this); addDockWidget(Qt::TopDockWidgetArea,dock); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); 運行結(jié)果 1.正常添加鉚接部件(默認(rèn)在上方) ??2.拖動時可以作為浮動窗口 ??3.在加入核心部件之后,可以 附著在上下左右邊框 ?5.6.2 ui 實現(xiàn) 6. Input Widgets ?Combo Box? ?下拉框 ?6.1 Combo Box 6.1.1 代碼實現(xiàn) //下拉框的實現(xiàn) ui->comboBox->addItem("奔馳"); ui->comboBox->addItem("寶馬"); ui->comboBox->addItem("拖拉機(jī)"); //點擊按鈕 選中拖拉機(jī)下拉框內(nèi)容 connect(ui->bt_select,&QPushButton::clicked,[=](){ ui->comboBox->setCurrentText("拖拉機(jī)"); }); ?運行時點擊“拖拉機(jī)”按鈕“,則下拉框內(nèi)容切換為”拖拉機(jī)“ 6.1.2? ui 實現(xiàn) 直接雙擊添加 ? 6.2 Font Combo Box 字體下拉框 默認(rèn)有系統(tǒng)自帶的多種字體 6.3 Line Edit 單行編輯框 ? 在屬性框中可以在echo Mode中設(shè)置密碼模式 6.3 Text Edit 核心文本框 可以修改字體格式(運行時不能) ?6.4 Plain Text Edit 純文本框,不能調(diào)格式 6.5 Spin Box 計數(shù)器 6.6 Double Spin Box 雙精度計數(shù)器 ? 6.7 Time Edit 時間控件 ? 6.8 Date Edit 日期控件 ? 6.9 Date/Time Edit 時間日期控件 6.10 Dial 6.11 Horizontal Scroll Bar 水平滑塊 6.12 Vertical Scroll Bar 垂直滑塊 6.13 Horizontal Slider 水平滾動條 6.14 Vertical Slider 垂直滾動條 6.15 Key Sequence Edit 設(shè)置快捷鍵 7. Display Widgets 7.1 Label 標(biāo)簽頁面,可以添加文字,也可以添加圖片或動圖 ?7.1.1 添加圖片 添加圖片:在屬性欄中找到pixmap,在資源文件中添加圖片? ? 可以選中scaledContents,使圖片填充標(biāo)簽框 7.1.2 添加動圖 添加動圖需要通過代碼實現(xiàn) //利用QLabel 顯示動態(tài)圖片 格式要求 gif QMovie* movie = new QMovie(":/images/bandicam 2024-04-29 18-27-59-055 00_00_00-00_00_30.gif"); ui->label->setMovie(movie); movie->start(); 7.1.3 添加Label的邊框 在屬性欄中QFrame的frameShape選擇合適的邊框 柚子快報邀請碼778899分享:ui QT 推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。