QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框
#include "mainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QDialog>
#include<QDebug> #include <QMessageBox>
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{ QMenuBar *mBar = menuBar();
setMenuBar(mBar);
QMenu *menu = mBar->addMenu("对话框"); //使用标准对话框
//关于对话框
QAction *p3 = menu->addAction("关于对话框");
connect(p3,&QAction::triggered,[=](){ /*经过查看QmessageBox的帮助文档,里面的Static Public Members,查看里面的about函数的使用方法
* 从Static Public Members得知其是静态的成员函数,这里就涉及到调用类里面的静态的成员函数。即通过类名调用;
* 最后的调用方式如下:
* QMessageBox::about(this,"about","关于QT");
*
*/
QMessageBox::about(this,"about","关于QT");
}); //问题对话框
QAction *p4 = menu->addAction("问题对话框");
connect(p4,&QAction::triggered,[=](){
/*这里的问题对话框的创建过程和上一个差不多,但是有一个地方需要注意,问题对话框上面有两个按钮,
* 怎么知道我点击了哪一个按钮?
* 通过查看QMessageBox的帮助文档,Public Types 里面的 StandardButton里面的内容,可以看到枚举的不同按钮
* 得知其会返回一个值,所以我们定义一个值用来接收,如下:
* int ret = QMessageBox::question(this,"question","ARE YOU OK ?");
*
* 当然了,有的时候我们并不想只有YES和NO这两个按钮,这里也是可以改变的,改变的代码如下:
* int ret = QMessageBox::question(this,"question","ARE YOU OK ?",QMessageBox::OK|QMessageBox::Cancel);
* 此时里面的按钮就会变成OK键和cancel键了。
*/
int ret = QMessageBox::question(this,"question","ARE YOU OK ?");
switch(ret)
{
case QMessageBox::Yes:
qDebug()<<"I am OK ";
break;
case QMessageBox::No:
qDebug()<<"NO OK";
break;
default:
break;
}
}); //文件对话框
QAction *p5 = menu->addAction("文件对话框");
connect(p5,&QAction::triggered,[=](){ /*打开一个文件,显示内容,显示路径,
* 通过查看getOpenFileName里面的内容,(其实里面已经有写好的例子)
* QFileDialog::getOpenFileName(this,"open","../");会有一个返回值,
* QString path = QFileDialog::getOpenFileName(this,"open","../");
* 如果想打开指定格式的文件怎么写?
* 注意:当想有多种类型的文件打开时,使用两个;;来进行表示
*
*/
QString path = QFileDialog::getOpenFileName(this,"open","../","source(*.cpp *.h);;Text(*.txt);;all(*.*)");
qDebug()<<path;
}); } MainWindow::~MainWindow()
{ }
getOpenFileName(this,"open","../","source(*.cpp *.h);;Text(*.txt);;all(*.*)");中的"source(*.cpp *.h);;Text(*.txt);;all(*.*)"很长的时候,可以在;;后直接按enter换行,这样操作在QT里面是没有问题的。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QDialog>
class MainWindow : public QMainWindow
{
Q_OBJECT public:
MainWindow(QWidget *parent = );
~MainWindow();
QDialog dlg;//自定义为全局变量(成员变量)
}; #endif // MAINWINDOW_H
QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框的更多相关文章
- QT常用控件(一)——菜单栏和对话框
引言 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status ...
- MFC 文件对话框
文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有"打开"选项,选择" ...
- MFC编程入门之十七(对话框:文件对话框)
上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框 ...
- 工作总结:文件对话框的分类(C++)
原文地址:http://www.jizhuomi.com/software/173.html 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如 ...
- VS2010/MFC对话框:文件对话框
文件对话框 上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中 ...
- VS2010/MFC编程入门之十七(对话框:文件对话框)
上一讲鸡啄米介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见 ...
- C#线程安全打开/保存文件对话框
在多线程单元模式(MTA)中为应用程序使用.NET OpenFileDialog和SaveFileDialog 下载FileDialogsThreadAppartmentSafe_v1.zip 如果您 ...
- Java开发笔记(一百三十五)Swing的文件对话框
除了常规的提示对话框,还有一种对话框也很常见,它叫做文件对话框.文件对话框又分为两小类:打开文件的对话框.保存文件的对话框,但在Swing中它们都用类型JFileChooser来表达.下面是JFile ...
- VS2010-MFC(对话框:文件对话框)
转自:http://www.jizhuomi.com/software/173.html 一 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中 ...
随机推荐
- lua 与C通过c api传递table (2)
本文转自http://blog.csdn.net/a_asinceo/article/details/49907903(感谢...) 一.单个参数的传递 首先我们在Lua中注册一个C类PJYCallb ...
- vs2008控制台程序运行一闪而过,不显示按任意键继续
调试运行(F5)而且没插断点.且程序没有暂停的点,就会一闪而过 直接执行(Ctrl+F5),在程序结束前会有“按任意键继续” 当你不想进入调试状态,只想看一看程序执行结果时用ctrl+f5F5会进入调 ...
- 量子纠缠2——CHSH不等式
问题 有Alice和Bob两个人,随机给他们两个数x和y(0或1),然后A和B根据他们得到数(x和y)给两个个数a和b(0或1). 规则如下: 如果输入的x和y都是1,那么,Alice和Bob给出不一 ...
- 任务22:课程介绍 & 任务23:Http请求的处理过程
任务23:Http请求的处理过程 http的处理过程 用户输入一个地址
- Cardboard profile的修改
Cardboard盒子中,手机屏幕大小.镜片离屏幕距离,屏幕分辨率等都会影响配戴者的眼中成像,通过对生成图像的变形可以部份解决这一问题,cardboard sdk中提供了cardboardprofil ...
- POJ1458【最长公共子序列】
基础DP. #include <iostream> #include <stdio.h> #include <string.h> #include <stac ...
- expect实现配置机器信任关系
利用expect的交互功能,自动配置信任机器之间的信任关系. 代码里会判断机器是否生成了秘钥,如果没有生成过,则自动帮助你执行 ssh-keygen #!/bin/sh expect_ssh_copy ...
- C#递归拷贝文件夹下文件以及文件夹
public bool CopyOldLabFilesToNewLab(string sourcePath, string savePath) { if (!Directory.Exists(save ...
- FZu Problem 2233 ~APTX4869 (并查集 + sort)
题目链接: FZu Problem 2233 ~APTX4869 题目描述: 给一个n*n的矩阵,(i, j)表示第 i 种材料 和 第 j 种材料的影响值,这个矩阵代表这n个物品之间的影响值.当把这 ...
- One hundred layer HDU - 4374
One hundred layer HDU - 4374 $sum[i][j][k]$表示第i层第j到k列的和 $ans[i][j]$表示第i层最终停留在第j列的最大值,那么显然$ans[i][j]= ...