QT第二天
一、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);
});
}
Widget::~Widget()
{
delete ui;
}
如果想用按鈕控制
//點擊按鈕選中拖拉機 選項 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é)
- 上一篇: 工作160:总结VUE几种页面刷新方法
- 下一篇: Qt学习笔记(十九):QTreeWidg