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 = 0);
    ~MainWindow();
     QDialog dlg;//自定义为全局变量(成员变量)
};

#endif // MAINWINDOW_H

原文地址:https://www.cnblogs.com/doker/p/11031134.html

时间: 2024-08-01 23:53:32

QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框的相关文章

VS2010/MFC对话框:文件对话框

文件对话框 上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类       文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有“打开”选项,选择“打开”后会弹出一个对话框,让我们选择要打开文件的路径,这个对话框就是打开文件对话框:除了“打开”选项一般还会有“另存为”选项,选择“另存为”后往往也会有一个对话框弹出,让我们选择保存路径,这就是保存文件对话框. 正如上面举

QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的API,一种是使用QMessageBox的静态方法. 后者书写容易,但缺少灵活性,针对用户给出的提示的信息不够丰富,并且不能自定义消息对话框里面的按钮提示信息.因此推荐第一种写法. [cpp] view plaincopy <span style="font-size:18px;"&

QT 打开文件对话框总结

Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ",  tr("Allfile(*.*);;mp3file(*.mp3)")); 说明:这样就会产生一个对话框,和系统的资源管理器差不多的.返回的是你选择文件的 绝对路径. 参数1:父窗口 参数2:对话框的标题 参数3:默认的打开的位置,如"我的文档"等 参数4:文件的过滤器,注意文

Qt打开文件对话框

项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细.要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象. 基本算是照抄帮助文档了.下面是自己的代码. 1 // 单击文件按钮 2 void FirstDialog::on_pushButtonFile_clicked() 3 { 4 QString strFile = QFileDialog::getOpenFileName( 5 this, 6 tr("打开文件"

QT 文件对话框(QFileDialog)

1.选择文件(上传.打开...) 1 QString QFileDialog::getOpenFileName( 2 QWidget *parent = 0, //parent,用于指定父组件.注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供一个默认值0: 3 const QString &caption = QString(), //caption,是对话框的标题 4 const QString &dir = QString(), //dir,是对话框显示时默认打开的目

11.文件对话框

在前面的章节中,我们讨论了 Qt 标准对话框QMessageBox的使用.所谓标准对话框,其实也就是一个普通的对话框.因此,我们同样可以将QDialog所提供的其它特性应用到这种标准对话框上面.今天,我们继续讨论另外一个标准对话框:QFileDialog,也就是文件对话框.在本节中,我们将尝试编写一个简单的文本文件编辑器,我们将使用QFileDialog来打开一个文本文件,并将修改过的文件保存到硬盘.这或许是我们在本系列中所提供的第一个带有实际功能的实例. 首先,我们需要创建一个带有文本编辑功能

如何找到文件的家-打开文件对话框openFileDialog

private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*.txt|*.txt";//设置文件 DialogResult dr = openFileDialog1.ShowDialog();//显示打开文件对话框 if (dr ==DialogResult.OK) { richTextBox1.Text = System.IO.File.ReadAllText(openFile

Winform控件:打开文件对话框(OpenFileDialog)

OpenFileDialog类提供了用户打开文件的功能,它有如下属性: 属性 InitialDirectory:设置对话框的初始目录. Filter: 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*". FilterIndex: 在对话框中选择的文件筛选器的索引,如果选第一项就设为1. RestoreDirectory: 控制对话框在关闭之前是否恢复当前目录. FileName:第一个在对话框中显示的文件或最后一个选取的文件. T

MFC——对话框(二),模态对话框

Windows对话框分为两类:模态对话框和非模态对话框. 模块对话框,当它弹出后,本应用程序其它窗口将不再接受用户输入,只有该对话框相应用户输入后,在对它进行相应操作退出后,其它窗口才能继续与用户交互. 非模态对话框,它弹出后,本程序其它窗口仍能相应用户输入. 模态对话框 首先先弄清楚主界面是如何显示出来的 加入本解决方案名称为Addition,则新建MFC工程时,会出现一个AdditionDlg .cpp文件,该文件中会有一个InitInstance()函数,用于完成初始化工作. CAddit