Qt5 弹出窗口的创建
来源:互联网 发布:拉希德华莱士02版数据 编辑:程序博客网 时间:2024/06/04 20:01
为将要进行的工作做准备。
代码实现功能:单击某个按钮后,弹出对话框,对话框中的内容可自行设计。
1.建立一个主界面,主界面中有一个pushbotton按键。
2.右键项目->添加新文件->Qt设计师界面类
Part II——对话框的模态和非模态
1、 建立一个对话框类:
2、 对话框中放置pushbutton和TextEdit:
3、 转到主窗口菜单栏New Window的槽:
4、 在槽中插入如下代码(并且在mainwindow.h中要建立对话框的指针):
5、显示结果如下:
(1)非模态显示(dialog->setModal(false)):
(2)模态显示(dialog->setModal(ture)):
给出完整程序(只给出需要填写代码和有注释部分,无改动的不给出):
mainwindow.h程序:
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QMainWindow>
- #include"mydialog.h"
- namespace Ui {
- class MainWindow;
- }
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- explicit MainWindow(QWidget *parent = 0);
- ~MainWindow();
- private slots:
- void on_actionNew_Window_triggered();
- private:
- Ui::MainWindow *ui;
- MyDialog *dialog; //添加私有成员,为一个dailog(窗口)的指针
- };
- #endif // MAINWINDOW_H
mainwindow.cpp程序:
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- //把给定的组件设定成主窗口的中央组件,这里是把plainTextEdit设为窗口的中央组件
- setCentralWidget(ui->plainTextEdit);
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_actionNew_Window_triggered()
- {
- //新建一个窗口对象,其中的this指定了新的窗口的父对象是MainWindow,在销毁Mainwindow时也会销毁子对象,即该窗口对象
- dialog = new MyDialog(this);
- //Modal属性决定了show()应该将弹出的dialog设置为模态还是非模态
- //默认情况下该属性为false并且show()弹出的窗口是非模态的
- //把这个属性设置为true就详单与设置QWidget::windowModality为Qt::ApplicationModal
- //执行exec()忽略这个Modal这个属性,并且把弹出的dialog设置为模态的
- dialog->setModal(false); //此处ture为模态,false为非模态
- dialog->show();
- }
main.cpp程序:
- //2014/8/3 wayne HDU
- //问题描述:(1)创建一个mainwindow(2)创建一个dialog,并且展示modal和modaless的区别
- #include "mainwindow.h"
- #include <QApplication>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- w.show();
- return a.exec();
Part II——对话框的模态和非模态
1、 建立一个对话框类:
2、 对话框中放置pushbutton和TextEdit:
3、 转到主窗口菜单栏New Window的槽:
4、 在槽中插入如下代码(并且在mainwindow.h中要建立对话框的指针):
5、显示结果如下:
(1)非模态显示(dialog->setModal(false)):
(2)模态显示(dialog->setModal(ture)):
给出完整程序(只给出需要填写代码和有注释部分,无改动的不给出):
mainwindow.h程序:
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QMainWindow>
- #include"mydialog.h"
- namespace Ui {
- class MainWindow;
- }
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- explicit MainWindow(QWidget *parent = 0);
- ~MainWindow();
- private slots:
- void on_actionNew_Window_triggered();
- private:
- Ui::MainWindow *ui;
- MyDialog *dialog; //添加私有成员,为一个dailog(窗口)的指针
- };
- #endif // MAINWINDOW_H
mainwindow.cpp程序:
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- //把给定的组件设定成主窗口的中央组件,这里是把plainTextEdit设为窗口的中央组件
- setCentralWidget(ui->plainTextEdit);
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_actionNew_Window_triggered()
- {
- //新建一个窗口对象,其中的this指定了新的窗口的父对象是MainWindow,在销毁Mainwindow时也会销毁子对象,即该窗口对象
- dialog = new MyDialog(this);
- //Modal属性决定了show()应该将弹出的dialog设置为模态还是非模态
- //默认情况下该属性为false并且show()弹出的窗口是非模态的
- //把这个属性设置为true就详单与设置QWidget::windowModality为Qt::ApplicationModal
- //执行exec()忽略这个Modal这个属性,并且把弹出的dialog设置为模态的
- dialog->setModal(false); //此处ture为模态,false为非模态
- dialog->show();
- }
main.cpp程序:
- //2014/8/3 wayne HDU
- //问题描述:(1)创建一个mainwindow(2)创建一个dialog,并且展示modal和modaless的区别
- #include "mainwindow.h"
- #include <QApplication>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- w.show();
- return a.exec();
1 0
- Qt5 弹出窗口的创建
- 创建弹出窗口的图片展示
- js创建普通的弹出窗口
- 创建基于悬停的弹出信息窗口
- 创建弹出窗口
- JavaScript创建弹出窗口
- html创建弹出窗口
- vs2013+qt5.5.0创建qt窗口工程
- 在.NET中创建弹出窗口的方法
- 创建一个弹出时不会立即得到焦点的窗口
- 使用tipsWindow创建可移动的弹出窗口
- Adobe AIR迷你教程 -- 创建多窗口以及弹出窗口与父窗口的通讯
- JavaScript访问弹出窗口的弹出窗口
- 弹出窗口的使用
- 弹出窗口的实现
- Js的弹出窗口
- 弹出窗口的Debug
- 弹出窗口的代锦集
- hdfs集群间数据迁移
- 虚拟机CentOS7最小化安装下源码编译搭建LAMP环境之四: ————PHP编译安装
- iOS中UIImage存为本地文件与UIImage转换为NSData
- Objective-C语法快速参考
- .net输出log
- Qt5 弹出窗口的创建
- 人人都是产品奖励思维导图
- jquery ajax方法重写,利用statusCode对象根据服务器返回的不同状态进行处理
- 自定义ActionBar标题与菜单中的文字样式
- AFNetworking 2.0 来了
- UITableView处于编辑状态所在页面消失的时候崩溃
- 转载:稀疏表达
- AFNetworking 初探
- mysql 5.5 设置编码问题