日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

QT第二天

發(fā)布時間:2023/12/9 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT第二天 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、QMainWindow

QMainWindow是一個為用戶提供主窗口程序的類,包含一個菜單欄(menu bar)、多個工具欄(tool bars)、多個錨接部件(dock widgets 又稱為浮動窗口)、一個狀態(tài)欄(status bar)及一個中心部件(central widget),是許多應(yīng)用程序的基礎(chǔ),如文本編輯器,圖片編輯器等。

菜單欄最多只能有一個,工具欄可以有多個

狀態(tài)欄最多只能有一個,鉚接部件(浮動窗口)可以有多個

!!!可以有多個的有add,只能有一個的只有set!!!

1.1 菜單欄(最多只能有一個)

頭文件:#include

1.1.1創(chuàng)建菜單欄

//菜單欄創(chuàng)建 不需要要放在對象樹上,因為源碼已經(jīng)放在對象樹上了 QMenuBar * bar = menuBar(); //將菜單欄放入窗口中 setMenuBar(bar);

1.1.2 創(chuàng)建菜單

//創(chuàng)建菜單 QMenu * fileMenu = bar->addMenu("文件"); QMenu * editMenu = bar->addMenu("編輯");

1.1.3 創(chuàng)建菜單項

//創(chuàng)建菜單項 //fileMenu->addAction("新建"); //上面這樣也行,但是為了接一下,返回QAction類型 QAction * newAction = fileMenu->addAction("新建");

1.1.4 添加分隔符

//添加分隔符 fileMenu->addSeparator(); //fileMenu->addAction("打開"); QAction * openAction =fileMenu->addAction("打開");

1.2 工具欄(可以有多個)

頭文件:#include

1.2.1 工具欄

//工具欄可以有多個 QToolBar * toolBar = new QToolBar(this); addToolBar(Qt::LeftToolBarArea,toolBar);

1.2.2 后期設(shè)置只允許左右停靠

toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

1.2.3 設(shè)置浮動

//設(shè)置浮動 toolBar->setFloatable(false);

1.2.4 設(shè)置移動

//設(shè)置移動 toolBar->setMovable(false);

1.2.5工具欄中可以設(shè)置內(nèi)容

//工具欄中可以設(shè)置內(nèi)容 toolBar->addAction(newAction); //添加分割線 toolBar->addSeparator(); toolBar->addAction(openAction);

1.2.6 工具欄中添加按鈕(控件)

//工具欄中添加按鈕(控件) QPushButton * btn = new QPushButton("aa",this); toolBar->addWidget(btn);

1.3 狀態(tài)欄(最多一個)

頭文件:#include

QStatusBar * stBar = statusBar();//設(shè)置到窗口中setStatusBar(stBar);//放標簽控件QLabel * label = new QLabel("提示的信息",this);stBar->addWidget(label);QLabel * label2 = new QLabel("右側(cè)提示的信息",this);stBar->addPermanentWidget(label2);

QLabel的頭文件:#include

1.4 鉚接部件(浮動窗口) (可以有多個)

QDockWidget * dockWidget = new QDockWidget("浮動",this); addDockWidget(Qt::BottomDockWidgetArea,dockWidget);//設(shè)置后期停靠區(qū)域,只允許上下 dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);//設(shè)置中心部件 QTextEdit * edit = new QTextEdit(this); setCentralWidget(edit);

1.5 整體代碼和效果

#include "mainwindow.h" #include <QMenuBar> #include <QToolBar> #include <QDebug> #include <QPushButton> #include <QStatusBar> #include <QLabel> #include <QDockWidget> #include <QTextEdit>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//重置窗口的大小resize(600,400);/*************************一、菜單欄**************************///菜單欄 只能 最多有一個//菜單欄創(chuàng)建 不需要要放在對象樹上,因為源碼已經(jīng)放在對象樹上了QMenuBar * bar = menuBar();//將菜單欄放入窗口中setMenuBar(bar);//創(chuàng)建菜單QMenu * fileMenu = bar->addMenu("文件");QMenu * editMenu = bar->addMenu("編輯");//創(chuàng)建菜單項//fileMenu->addAction("新建");QAction * newAction = fileMenu->addAction("新建");//添加分隔符fileMenu->addSeparator();//fileMenu->addAction("打開");QAction * openAction =fileMenu->addAction("打開");/*************************二、工具欄**************************///工具欄 可以有多個QToolBar * toolBar = new QToolBar(this);addToolBar(Qt::LeftToolBarArea,toolBar);//后期設(shè)置 只允許 左右停靠toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);//設(shè)置浮動toolBar->setFloatable(false);//設(shè)置移動toolBar->setMovable(false);//工具欄中可以設(shè)置內(nèi)容toolBar->addAction(newAction);//添加分割線toolBar->addSeparator();toolBar->addAction(openAction);//工具欄中添加按鈕(控件)QPushButton * btn = new QPushButton("aa",this);toolBar->addWidget(btn);/*************************三、狀態(tài)欄,最多有一個**************************/QStatusBar * stBar = statusBar();//設(shè)置到窗口中setStatusBar(stBar);//放標簽控件QLabel * label = new QLabel("提示的信息",this);stBar->addWidget(label);QLabel * label2 = new QLabel("右側(cè)提示的信息",this);stBar->addPermanentWidget(label2);/*************************四、鉚接部件(浮動窗口) 可以有多個**************************/QDockWidget * dockWidget = new QDockWidget("浮動",this);addDockWidget(Qt::BottomDockWidgetArea,dockWidget);//設(shè)置后期停靠區(qū)域,只允許上下dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);//設(shè)置中心部件QTextEdit * edit = new QTextEdit(this);setCentralWidget(edit);}MainWindow::~MainWindow() { }

二、可視化設(shè)計

2.1 基本步驟

1.新建時勾選 generate from

2.點擊mainwindow.ui進入設(shè)計界面

3.菜單欄只能有一個,直接輸入名字就行

4.菜單項輸入的時候只能輸入英文,然后在text中修改成中文

5.添加鉚接(懸浮)部件

允許懸浮位置

6.添加核心部件

2.2 代碼

1.添加資源,右鍵到代碼所在的文件,把image復(fù)制到文件夾下

2.右鍵羨慕,點擊add new,添加Qt source

生成的res.qrc中 res為取的名字,qrc是Qt下面資源的后綴

3.open in edit

4.接著先添加前綴,再添加資源,把需要的圖片加入

5.代碼中設(shè)置

#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);//ui->actionnew->setIcon(QIcon("C:/Users/lenovo/Desktop/資料-qt從入門到實戰(zhàn)/day2資料/Doc/Image/Luffy.png"));//使用添加Qt資源 ": + 前綴名 + 文件名"ui->actionnew->setIcon(QIcon(":/Image/Luffy.png"));ui->actionopen->setIcon(QIcon(":/Image/LuffyQ.png")); }MainWindow::~MainWindow() {delete ui; }

三、對話框QDialog

3.1 分類

整體代碼:

#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDialog> #include <QDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);//點擊新建按鈕 彈出一個對話框connect(ui->actionnew,&QAction::triggered,[=](){//對話框 分類//模態(tài)對話框(不可以對其他窗口進行操作) 非模態(tài)對話框(可以對其他窗口進行操作)//1.模態(tài)創(chuàng)建 阻塞 // QDialog dlg(this); // dlg.resize(200,100); // dlg.exec(); // qDebug()<<"模態(tài)對話框彈出了";//2.非模態(tài)對話框/*2.1、為了窗口不會一閃而過,要創(chuàng)建在堆區(qū)2.2、因為放在對象樹中,只有整體窗口關(guān)閉,才會釋放,如果一直點會堆區(qū)內(nèi)存泄漏*/QDialog * dlg2 = new QDialog(this);dlg2->resize(300,200);dlg2->show();//為了不內(nèi)存泄漏dlg2->setAttribute(Qt::WA_DeleteOnClose); //55號屬性qDebug()<<"非模態(tài)對話框彈出了";}); }MainWindow::~MainWindow() {delete ui; }

3.1.1 模態(tài)對話框 不可以對他窗口進行操作

QDialog dlg(this) dlg.exec(); //阻塞

3.1.2 非模態(tài)對話框 可以對其他窗口進行操作

1.防止一閃而過

2.防止內(nèi)存泄漏

//2.非模態(tài)對話框 /* 2.1、為了窗口不會一閃而過,要創(chuàng)建在堆區(qū) 2.2、因為放在對象樹中,只有整體窗口關(guān)閉,才會釋放,如果一直點會堆區(qū)內(nèi)存泄漏*/ QDialog * dlg2 = new QDialog(this); dlg2->resize(300,200); dlg2->show(); //為了不內(nèi)存泄漏 dlg2->setAttribute(Qt::WA_DeleteOnClose); //55號屬性 qDebug()<<"非模態(tài)對話框彈出了";

3.2 標準對話框-信息對話框

QMessageBox靜態(tài)成員函數(shù) 創(chuàng)建對話框

3.2.1 錯誤對話框

//錯誤對話框 QMessageBox::critical(this,"critical","錯誤");

3.2.2 信息對話框

//信息對話框 QMessageBox::information(this,"info","信息");

3.2.3 提問對話框

//提問對話框 //參數(shù)1 父親、 參數(shù)2 標題 、參數(shù)3 提示內(nèi)容 、參數(shù)4 按鍵類型、 參數(shù)5 默認關(guān)聯(lián)回車按鍵 QMessageBox::question(this,"quess","提問",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel);

如果想判斷是保存還是取消,可以這樣:

if(QMessageBox::Save==QMessageBox::question(this,"quess","提問",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel)) {qDebug()<<"選擇的是保存"; } else {qDebug()<<"選擇的是取消"; }

3.2.4 警告對話框

//警告對話框 QMessageBox::warning(this,"warning","警告");

3.3 標準對話框 - 顏色對話框

//顏色對話框 QColor color= QColorDialog::getColor(QColor(255,0,0)); qDebug()<<"r = "<<color.green()<<"b = "<<color.blue();

3.4 標準對話框 - 文件對話框

//文件對話框 參數(shù)1 父親 參數(shù)2 標題 參數(shù)3 默認打開路徑 參數(shù)4 過濾文件格式 //返回值是選取的路徑 QString str = QFileDialog::getOpenFileName(this,"打開文件","C:/Users/lenovo/Desktop","(*.txt)"); qDebug()<<str;

3.5 標準對話框 - 字體對話框

bool flag; QFont font = QFontDialog::getFont(&flag,QFont("華文彩云",36)); qDebug()<<"字體:"<<font.family().toUtf8().data()<<"字號:"<<font.pointSize()<<"是否加粗:"<<font.bold()<<"是否傾斜:"<<font.italic();

四、布局管理器

4.1 實現(xiàn)登陸窗口

并且窗口固定了大小

4.2 利用布局方式 給窗口進行美化

如果不固定大小的時候,實現(xiàn)拖拽放大窗口的會自動跟隨者變

4.3 選取 widget 進行布局 ,水平布局、垂直布局、柵格布局

為了讓對齊使用柵格布局

4.4 給用戶名、密碼、登陸、退出按鈕進行布局

密碼設(shè)置為不明文形式,這樣設(shè)置

可視化里面設(shè)置固定大小,把最大最小設(shè)置一樣

4.5 默認窗口和控件之間 有9間隙,可以調(diào)整 layoutLeftMargin

4.6 利用彈簧進行布局

Horizontal Spacer

Vertical Spacer

如果不想一個widget的框太大,可以設(shè)置sizePolicy的垂直策略,設(shè)為固定值

五、控件

5.1 按鈕組

5.1.1 QPushButton 常用按鈕

5.1.2 QToolButton 工具按鈕 用于顯示圖片,如圖想顯示文字,修改風格:toolButtonStyle , 凸起風格autoRaise

(1)先根據(jù)二可視化設(shè)計中把資源加入,然后在Icon中添加資源,添加圖片,如果想要更改圖片的大小,可以點擊IconSize

(2)寫文字,但是為了顯示,下面的toolButtonStyle也要改成ToolButtonTextBesideIcon

把autoRaise點上,就能實現(xiàn)類似QQ點擊頭像那種功能

5.1.3 radioButton 單選按鈕,設(shè)置默認 ui->rBtnMan->setChecked(true); checkbox多選按鈕,監(jiān)聽狀態(tài),2 選中 1 半選 0 未選中

(1)單選按鈕,如果想分組,可以用Group Box

(2)結(jié)合代碼

首先:改名

寫代碼:

#include "widget.h" #include "ui_widget.h" #include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//設(shè)置單選的按鈕 男默認選中ui->rBtnMan->setChecked(true);//選中女后 打印信息connect(ui->rBtnWoman,&QRadioButton::clicked,this,[=](){qDebug()<<"選中了女";});}Widget::~Widget() {delete ui; }

5.1.4 checkbox多選按鈕,監(jiān)聽狀態(tài),2 選中 1 半選 0 未選中

#include "widget.h" #include "ui_widget.h" #include <QDebug> #include <QCheckBox>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//多選按鈕 2是選中 0是未選中 1是半選但是要把tristate勾上connect(ui->cBox,&QCheckBox::stateChanged,[=](int state){qDebug()<< state;});}Widget::~Widget() {delete ui; }

5.2 QlistWidget 列表容器

5.2.1 QListWidget 一行內(nèi)容

//利用listWidget寫詩 QListWidgetItem * item = new QListWidgetItem("鋤禾日當午"); //將一行詩放到listWidget控件中 ui->listWidget->addItem(item); //設(shè)置居中 item->setTextAlignment(Qt::AlignHCenter);

5.2.2 可以利用addItems一次加入多行

//QStringList QList<string> QStringList list; list<<"鋤禾日當午"<<"汗滴禾下土"<<"誰知盤中餐"<<"粒粒皆辛苦"; ui->listWidget->addItems(list);

5.2.3 補充:QStringlist

QStringList類提供字符串列表。
QStringList繼承自QList < QString >。與QList一樣,QStringList是隱式共享的。它提供了快速的基于索引的訪問,以及快速插入和刪除。將字符串列表作為值參數(shù)傳遞是快速和安全的。

5.3 QTreeWidget 樹控件

5.3.1 設(shè)置頭

首先在設(shè)計中添加 TreeWIdget,然后設(shè)置水平布局,默認的objectName為treeWidget

然后代碼控制:

(1)設(shè)置水平頭

//treeWidget樹控件的使用 //設(shè)置水平頭 ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介紹");QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<<"力量");

(2)加載頂層的節(jié)點

//加載頂層的節(jié)點 ui->treeWidget->addTopLevelItem(liItem);

(3)追加子節(jié)點

//追加子節(jié)點 QStringList heroL1; heroL1<<"剛被豬"<<"前排坦克,能在吸收傷害的同時造成可觀的范圍輸出"; QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1); liItem->addChild(l1); QStringList heroL2; heroL2 << "船長" << "前排坦克,能肉能輸出能控場的全能英雄"; QTreeWidgetItem * l2 = new QTreeWidgetItem(heroL2); liItem->addChild(l2);

整體代碼:

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//treeWidget樹控件的使用//設(shè)置水平頭ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介紹");QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<<"力量");QTreeWidgetItem * minItem = new QTreeWidgetItem(QStringList()<<"敏捷");QTreeWidgetItem * zhiItem = new QTreeWidgetItem(QStringList()<<"智力");//加載頂層的節(jié)點ui->treeWidget->addTopLevelItem(liItem);ui->treeWidget->addTopLevelItem(minItem);ui->treeWidget->addTopLevelItem(zhiItem);//追加子節(jié)點QStringList heroL1;heroL1<<"剛被豬"<<"前排坦克,能在吸收傷害的同時造成可觀的范圍輸出";QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1);liItem->addChild(l1);QStringList heroL2;heroL2 << "船長" << "前排坦克,能肉能輸出能控場的全能英雄";QTreeWidgetItem * l2 = new QTreeWidgetItem(heroL2);liItem->addChild(l2);QStringList heroM1;heroM1 << "月騎" << "中排物理輸出,可以使用分裂利刃攻擊多個目標";QTreeWidgetItem * M1 = new QTreeWidgetItem(heroM1);minItem->addChild(M1);QStringList heroM2;heroM2 << "小魚人" << "前排戰(zhàn)士,擅長偷取敵人的屬性來增強自身戰(zhàn)力";QTreeWidgetItem * M2 = new QTreeWidgetItem(heroM2);minItem->addChild(M2);QStringList heroZ1;heroZ1 << "死靈法師" << "前排法師坦克,魔法抗性較高,擁有治療技能";QTreeWidgetItem * Z1 = new QTreeWidgetItem(heroZ1);zhiItem->addChild(Z1);QStringList heroZ2;heroZ2 << "巫醫(yī)" << "后排輔助法師,可以使用奇特的巫術(shù)詛咒敵人與治療隊友";QTreeWidgetItem * Z2 = new QTreeWidgetItem(heroZ2);zhiItem->addChild(Z2); }Widget::~Widget() {delete ui; }

效果:

5.4 QTableWidget 控件

5.4.1 設(shè)置列數(shù)和設(shè)置行數(shù)

//設(shè)置列數(shù) ui->tableWidget->setColumnCount(3);//設(shè)置列數(shù) ui->tableWidget->setRowCount(4);

5.4.2 設(shè)置表頭

//設(shè)置水平表頭 ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性別"<<"年齡");

5.4.3 設(shè)置正文

方法一:

//設(shè)置正文 ui->tableWidget->setItem(0,0,new QTableWidgetItem("亞瑟"));

方法二:

QStringList nameList; nameList<<"亞瑟"<<"趙云"<<"張飛"<<"關(guān)羽"<<"花木蘭"; //QList<QString> 等價于 QStringList QList<QString> sexList; sexList<<"男"<<"男"<<"男"<<"男"<<"女"; for(int i=0;i<5;i++) {int col = 0;ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));//也可以用中括號,越界直接掛了;用at越界會拋出異常ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));//int 轉(zhuǎn) QStringui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18))); }

5.4.4 補充:QStringList 和QList < string>

1.兩個效果一樣,使用方法

QStringList nameList; nameList<<"亞瑟"<<"趙云"<<"張飛"<<"關(guān)羽"<<"花木蘭"; //QList<QString> 等價于 QStringList QList<QString> sexList; sexList<<"男"<<"男"<<"男"<<"男"<<"女";

2.用中括號,越界直接掛了;用at越界會拋出異常

QStringList nameList; nameList<<"亞瑟"<<"趙云"<<"張飛"<<"關(guān)羽"<<"花木蘭"; //QList<QString> 等價于 QStringList QList<QString> sexList; sexList<<"男"<<"男"<<"男"<<"男"<<"女"; for(int i=0;i<5;i++) {int col = 0;ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));//也可以用中括號,越界直接掛了;用at越界會拋出異常ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));//int 轉(zhuǎn) QStringui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18))); }

5.4.5 整體代碼

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//TableWidget控件//設(shè)置列數(shù)ui->tableWidget->setColumnCount(3);//設(shè)置水平表頭ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性別"<<"年齡");//設(shè)置列數(shù)ui->tableWidget->setRowCount(4);//設(shè)置正文 // ui->tableWidget->setItem(0,0,new QTableWidgetItem("亞瑟"));QStringList nameList;nameList<<"亞瑟"<<"趙云"<<"張飛"<<"關(guān)羽"<<"花木蘭";//QList<QString> 等價于 QStringListQList<QString> sexList;sexList<<"男"<<"男"<<"男"<<"男"<<"女";for(int i=0;i<5;i++){int col = 0;ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));//也可以用中括號,越界直接掛了;用at越界會拋出異常ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));//int 轉(zhuǎn) QStringui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(18)));}}Widget::~Widget() {delete ui; }

5.5 其他控件

5.5.1 Scroll Area

比如在里面加很多的QPushbutton后,就會有一個滑動效果

5.5.2 Tool Box

類似于QQ的分組

5.5.3 Tab Box

類似于搜狗瀏覽器網(wǎng)頁切換的一個效果

5.3.4 Stacked Widget

可以通過小三角切換,顯示不同的,但是在運行的時候,三角不可見,得自己建按鈕控制,比如右邊三個

控制代碼:

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//棧控件使用//設(shè)置默認定位 scrollAreaui->stackedWidget->setCurrentIndex(1);//scrollArea 按鈕connect(ui->btn_scrollAreas,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(1);});//toolbox 按鈕connect(ui->btn_ToolBox,&QPushButton::clicked,[=]{ui->stackedWidget->setCurrentIndex(0);});//toolbox 按鈕connect(ui->btn_TableWidget,&QPushButton::clicked,[=]{ui->stackedWidget->setCurrentIndex(2);});}Widget::~Widget() {delete ui; }

5.3.5 Combo BOx 下拉框

//下拉框 ui->comboBox->addItem("奔馳"); ui->comboBox->addItem("寶馬"); ui->comboBox->addItem("拖拉機");

如果想用按鈕控制

//點擊按鈕選中拖拉機 選項 connect(ui->btn_select,&QPushButton::clicked,[=](){ui->comboBox->setCurrentIndex(2);//或者//ui->comboBox->setCurrentText("拖拉機"); });

5.3.6 QLabel 顯示圖片和動圖

先添加圖片資源

//利用 QLable顯示圖片 ui->lb_Image->setPixmap(QPixmap(":/Image/butterfly.png"));//利用 QLabel 顯示動態(tài)圖 QMovie * movie = new QMovie(":/Image/mario.gif"); ui->lbl_Movie->setMovie(movie);//播放動圖 movie->start();

,={
ui->stackedWidget->setCurrentIndex(1);
});

//toolbox 按鈕 connect(ui->btn_ToolBox,&QPushButton::clicked,[=]{ui->stackedWidget->setCurrentIndex(0); });//toolbox 按鈕 connect(ui->btn_TableWidget,&QPushButton::clicked,[=]{ui->stackedWidget->setCurrentIndex(2); });

}

Widget::~Widget()
{
delete ui;
}

### 5.3.5 Combo BOx 下拉框[外鏈圖片轉(zhuǎn)存中...(img-34bv5u7v-1639574510186)]```cpp //下拉框 ui->comboBox->addItem("奔馳"); ui->comboBox->addItem("寶馬"); ui->comboBox->addItem("拖拉機");

如果想用按鈕控制

//點擊按鈕選中拖拉機 選項 connect(ui->btn_select,&QPushButton::clicked,[=](){ui->comboBox->setCurrentIndex(2);//或者//ui->comboBox->setCurrentText("拖拉機"); });

5.3.6 QLabel 顯示圖片和動圖

先添加圖片資源

//利用 QLable顯示圖片 ui->lb_Image->setPixmap(QPixmap(":/Image/butterfly.png"));//利用 QLabel 顯示動態(tài)圖 QMovie * movie = new QMovie(":/Image/mario.gif"); ui->lbl_Movie->setMovie(movie);//播放動圖 movie->start();

總結(jié)

以上是生活随笔為你收集整理的QT第二天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。