日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt学习(二):菜单栏、工具栏和对话框

發布時間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt学习(二):菜单栏、工具栏和对话框 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

知識點

窗口1:菜單欄、工具欄、核心控件和浮動窗口
窗口2:模態和非模態對話框、介紹對話框、問題對話框、文件對話框

結果演示

main.cpp

#include "mainwindow.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }

mainwindow.cpp

#include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAction> #include <QDebug> #include <QToolBar> #include <QPushButton> #include <QStatusBar> #include <QLabel> #include <QTextEdit> #include <QDockWidget>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {resize(700,400);this->setWindowTitle("文本編輯器");//菜單欄QMenuBar *myQMenBar=menuBar();//添加菜單QMenu *pFile=myQMenBar->addMenu("文件");pFile->move(0,100);//添加動作項QAction *FileAction=pFile->addAction("新建");connect(FileAction,&QAction::triggered,[=](){qDebug()<<"已經新建了!!";});pFile->addSeparator();QAction *pOpen=pFile->addAction("打開");//工具欄,菜單項的快捷方式QToolBar *myToolBar=addToolBar("@_@");//工具欄添加動作myToolBar->addAction(FileAction);QPushButton *myButton=new QPushButton(this);myButton->setText("^_^");//工具欄添加該控件myToolBar->addWidget(myButton);//為控件添加動作connect(myButton,&QPushButton::clicked,[=](){myButton->setText("123");});//狀態欄QStatusBar *staBar=statusBar();//為狀態欄加上標簽QLabel*staLabel=new QLabel(this);staLabel->setText("create by Twk!!");staBar->addWidget(staLabel);//核心控件QTextEdit *txtEdit=new QTextEdit(this);setCentralWidget(txtEdit);//浮動窗口QDockWidget *dock=new QDockWidget(this);addDockWidget(Qt::RightDockWidgetArea, dock);//給浮動窗口添加控件QTextEdit *txtEdit02=new QTextEdit(this);dock->setWidget(txtEdit02);//子窗口菜單subM=new subMainWindow(this);subM->show();}MainWindow::~MainWindow() {}

submainwindow.cpp

#include "submainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAction> #include <QDialog> #include <QDebug> #include <QMessageBox> #include <QFileDialog>subMainWindow::subMainWindow(QWidget *parent) :QMainWindow(parent) {this->setWindowTitle("subCaiDan");resize(400,200);//添加菜單欄QMenuBar *subBar=menuBar();setMenuBar(subBar);//意思是把你創建的菜單欄添加到主窗口中,也就是調用的這個對象所創建的窗口中//添加菜單QMenu *myMenu=subBar->addMenu("對話框");//函數將Actions添加到窗口部件上QAction *subAction=myMenu->addAction("模態對話框");//對話框通信connect(subAction,&QAction::triggered,[=](){QDialog myDia;myDia.setWindowTitle("這是模態對話框");myDia.exec();qDebug()<<"這是模態對話框";});//函數將Actions添加到窗口部件上QAction *subAction02=myMenu->addAction("非模態對話框");//對話框通信connect(subAction02,&QAction::triggered,[=](){QDialog *myDiaFei=new QDialog;myDiaFei->setAttribute(Qt::WA_DeleteOnClose);myDiaFei->setWindowTitle("這是非模態對話框");myDiaFei->show();qDebug()<<"這是非模態對話框";});//函數將Actions添加到窗口部件上QAction *subAction03=myMenu->addAction("介紹對話框");//對話框通信connect(subAction03,&QAction::triggered,[=](){QMessageBox::about(this,"about","關于Qt的學習");});//函數將Actions添加到窗口部件上QAction *subAction04=myMenu->addAction("問題對話框");//對話框通信connect(subAction04,&QAction::triggered,[=](){QMessageBox msgBox;msgBox.setText("The document has been modified.");msgBox.setInformativeText("Do you want to save your changes?");msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);msgBox.setDefaultButton(QMessageBox::Save);int ans=msgBox.exec();switch (ans) {case QMessageBox::Save:qDebug()<<"已經保存!!";break;case QMessageBox::Discard:qDebug()<<"放棄保存!!";break;case QMessageBox::Cancel:qDebug()<<"取消!!";break;default:break;}});//函數將Actions添加到窗口部件上QAction *subAction05=myMenu->addAction("文件對話框");//對話框通信connect(subAction05,&QAction::triggered,[=](){QString fileName = QFileDialog::getOpenFileName(this,tr("Open File"),"../","Source (*.c *.cpp *.h);;Text files (*.txt);;All files (*.*)");});}

mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <submainwindow.h>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent = 0);~MainWindow();private:subMainWindow *subM; };#endif // MAINWINDOW_H

submainwindow.h

#ifndef SUBMAINWINDOW_H #define SUBMAINWINDOW_H#include <QMainWindow>class subMainWindow : public QMainWindow {Q_OBJECT public:explicit subMainWindow(QWidget *parent = 0);signals:public slots:};#endif // SUBMAINWINDOW_H

總結

以上是生活随笔為你收集整理的Qt学习(二):菜单栏、工具栏和对话框的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区二区黄色 | 五月综合久久 | 草逼视频网站 | 久久av一区二区三区亚洲 | 深夜av在线 | 天天看片天天干 | 免费观看视频一区二区 | 日本乱淫视频 | 亚洲精品乱码久久久久久写真 | 成人无遮挡 | 人与拘一级a毛片 | 亚洲国产精品成人综合久久久 | 欧日韩视频 | 91麻豆一区二区三区 | 免费无码不卡视频在线观看 | sese欧美 | 色老头一区二区 | 四虎图库| 色噜噜狠狠一区二区三区 | 亚洲综合第一 | www.久久久久久久 | 久久精品视频一区二区 | 99爱视频| 日韩麻豆视频 | 狠狠躁18三区二区一区传媒剧情 | 亚洲一级二级片 | 欧美人妻精品一区二区免费看 | 成人片免费看 | 色综合一区二区三区 | 午夜三级在线 | 嫩模被强到高潮呻吟不断 | 黄色一集片 | 亚洲人成人一区二区在线观看 | 毛片高清免费 | 亚洲视频一二三区 | 国产大学生自拍视频 | 日批在线 | 五月天丁香网 | 91香蕉国产 | 四虎午夜 | 精品人体无码一区二区三区 | 国产免费无遮挡吸奶头视频 | 亚洲一区二区三区四区 | 国产又大又黄视频 | 天天摸天天看 | 特黄aaaaaaaaa毛片免费视频 | 奶波霸巨乳一二三区乳 | 5个黑人躁我一个视频 | 电影中文字幕 | 高清无码一区二区在线观看吞精 | 久草成人网 | 北条麻妃青青久久 | 欧美一本 | 精品在线免费播放 | 美女视频久久久 | 中国一级特黄视频 | 北条麻妃久久 | 久久精品国产亚洲AV高清综合 | 国产第五页| 雪白的扔子视频大全在线观看 | 亚洲中文在线一区 | 免费成人黄 | 亚洲影视在线观看 | 国产午夜免费 | 97久久人人 | 9191在线视频 | 伊人成人在线观看 | 狠狠躁夜夜躁av无码中文幕 | 杨幂一区二区三区免费看视频 | 免费黄色网址观看 | 亚洲激情午夜 | 日本aa大片 | 一级黄av | 国产剧情精品在线 | 人妻少妇精品视频一区二区三区 | 欧美大片一区二区 | 色女人在线 | 国产一二在线观看 | 亚洲熟妇无码久久精品 | 成人在线免费观看网址 | 欧美污污视频 | 国产群p视频 | 国产aⅴ精品 | 天堂中文av | 黑人精品一区二区三区 | 2024国产精品 | 操一操视频 | 色午夜婷婷 | 国产嫩草av | 亚洲成人免费电影 | 好吊视频一区二区 | 91欧美日韩 | 中文字字幕在线中文 | 老妇裸体性猛交视频 | 围产精品久久久久久久 | 日韩亚洲视频 | 激情婷婷久久 | 台湾佬美性中文娱乐 | 一本久久a精品一合区久久久 |