-----mywidget.cpp-----

 #include "mywidget.h"
 #include "ui_mywidget.h"
 #include <QFileDialog>
 #include <QColorDialog>
 #include <QFontDialog>
 #include <QInputDialog>
 #include <QMessageBox>
 #include <QProgressDialog>
 #include <QErrorMessage>
 #include <QDebug>

 MyWidget::MyWidget(QWidget *parent) :
     QWidget(parent),
     ui(new Ui::MyWidget)
 {
     ui->setupUi(this);
 }

 MyWidget::~MyWidget()
 {
     delete ui;
 }

 void MyWidget::on_pushButton_clicked()
 {
     QStringList filenames = \
             QFileDialog::getOpenFileNames(\
                 this, "文件对话框", "F:",\
                 "图片(*png);;音乐(*mp3 *wma)");
     qDebug()<<"FileNames"<<filenames<<endl;
 }

 void MyWidget::on_pushButton_3_clicked()
 {
     QColor color = QColorDialog::getColor(Qt::red, this, "颜色选择", \
                                           QColorDialog::ShowAlphaChannel);
     qDebug()<<color<<endl;
 }

 void MyWidget::on_pushButton_2_clicked()
 {
     bool ok;
     QFont font = QFontDialog::getFont(&ok, this);
     if(not ok)
         qDebug()<<"没有选择字体"<<endl;
     else
         qDebug()<<"字体:"<<font<<endl;
 }

 void MyWidget::on_pushButton_4_clicked()
 {
     bool ok;
     QString string = QInputDialog::getText(this, "字符串", "请输入字符串",QLineEdit::Normal, "admin", &ok);
     if(ok) qDebug()<<"输入了字符串"<<string<<endl;
     , -, , , &ok);
     if(ok) qDebug()<<"输入了整数"<<value<<endl;
     , &ok);
     if(ok) qDebug()<<"输入了浮点数"<<d<<endl;
     QStringList items;
     items<<"条目1"<<"条目2";
     QString item = QInputDialog::getItem(, true, &ok);
     if(ok)qDebug()<<"选择了条目"<<item;
 }

 void MyWidget::on_pushButton_5_clicked()
 {
     int ret = QMessageBox::question(this, "列位看官", "你道此书从何而来?", QMessageBox::Yes, QMessageBox::No);
     if(ret == QMessageBox::Yes)
         qDebug()<<"说起根由虽近荒唐,细按则深有趣味"<<endl;
     ret = QMessageBox::information(this, "一场幽梦同谁近", "千古情人独我痴", QMessageBox::Ok);
     if(ret == QMessageBox::Ok)
         qDebug()<<"谋事在人,成事在天"<<endl;
     ret = QMessageBox::warning(this,"《四部丛刊》", "《经进东坡文集事略》 ", QMessageBox::Abort);
     if(ret == QMessageBox::Abort)
         qDebug()<<"天道不言而品物亨、岁功成"<<endl;
     ret = QMessageBox::critical(this, "致虚极,守静笃", "万物并作,吾以观复", QMessageBox::YesAll);
     if(ret == QMessageBox::YesAll)
         qDebug()<<"明月皎皎照我床,星汉西流夜未央"<<endl;
     QMessageBox::about(this, "不出户,知天下;不窥牖,见天道。", \
                        "其出弥远,其知弥少。是以圣人不行而知,不见而明,不为而成");
     QMessageBox::aboutQt(this);
 }

 void MyWidget::on_pushButton_6_clicked()
 {
     QProgressDialog dlg(, , this);
     dlg.setWindowTitle("RECUVA");
     dlg.setWindowModality(Qt::WindowModal);
     dlg.show();
     ; i<; i++)
     {
         dlg.setValue(i);
         QCoreApplication::processEvents();
         if(dlg.wasCanceled())
             break;
     }
     dlg.setValue();
     qDebug()<<"恢复结束"<<endl;
 }

 void MyWidget::on_pushButton_7_clicked()
 {
     QErrorMessage *dlg = new QErrorMessage(this);
     dlg->setWindowTitle("这不是你的错");
     dlg->showMessage("卡莱尔轻声地安慰我说");
 }

 QWizardPage* MyWidget::createPage1()
 {
     QWizardPage * page = new QWizardPage;
     page->setTitle("欢迎进入Windows卸载向导");
     return page;
 }
 QWizardPage* MyWidget::createPage2()
 {
     QWizardPage * page = new QWizardPage;
     page->setTitle("你真的要卸载吗?");
     return page;
 }
 QWizardPage* MyWidget::createPage3()
 {
     QWizardPage * page = new QWizardPage;
     page->setTitle("卸载已完成");
     return page;
 }

 void MyWidget::on_pushButton_8_clicked()
 {
     QWizard wizard(this);
     wizard.setWindowTitle("Win7卸载向导");
     wizard.addPage(createPage1());
     wizard.addPage(createPage2());
     wizard.addPage(createPage3());
     wizard.exec();
 }

C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框的更多相关文章

  1. Python -- Gui编程 -- Qt库的使用 -- 菜单与对话框

    1.菜单 import sys from PyQt4 import QtCore, QtGui class MyWindow(QtGui.QMainWindow): def __init__(self ...

  2. C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

    MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...

  3. C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽 -- 欢迎界面

    程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- ...

  4. C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽的关联

    Qt信号与槽的三种关联方法:1.设计界面关联,编辑信号/槽,自动关联 2.手动关联(1).头文件中定义槽 -----mywidget.h----- #ifndef MYWIDGET_H #define ...

  5. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结

    主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...

  6. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5试用

    1.头文件<QtGui>变成了<QtWidgets> 相应<QtGui/***>变成了<QtWidgets/***> 2.QTextCodec::set ...

  7. C/C++ -- Gui编程 -- Qt库的使用 -- 使用小写qDebug调试程序

    qDebug作为printf不需要头文件 qDebug()作为cout要使用头文件<QDebug> -----debug.cpp----- -----debug.cpp----- #inc ...

  8. C/C++ -- Gui编程 -- Qt库的使用 -- Qt窗体的类型状态布局

    -----工程WindowTest----- 1.-----窗体类型type.cpp----- #include <QtGui> int main(int argc, char * arg ...

  9. C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类

    1.新建空Qt工程 2.新建C++类HelloQt 3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件 4.修改头文件helloqt.h #ifndef HELL ...

随机推荐

  1. Nvidia显卡驱动下载

    https://www.nvidia.cn/Download/index.aspx?lang=cn https://blog.csdn.net/weixin_39643690/article/deta ...

  2. hbase使用MapReduce操作1(基本增删改查)

    操作代码 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apach ...

  3. Python学习-27.Python中的列表(list)

    列表已经用了很多次了.使用中括号包含元素. list = ['a','b','c'] 获取元素使用[]. print(list[0]) 输出a 不过值得注意的是,[]只能是0到元素个数-1吗?在Pyt ...

  4. Eclipse ADT 代码注释模版

    具体怎么用: 将下面的内容拷贝出来保存为XML文件,进入,Eclipse :Window --> Java --> Code Style --> Code Templates-> ...

  5. SpringBoot相知

    前言 这篇文章的将介绍表单验证,AOP处理请求和统一异常处理,案例是延续上一篇 SpringBoot初识 表单验证 现在将要拦截未满18岁的女生,在之前GirlController里面添加一个女生的方 ...

  6. DataTable根据字段去重

    DataTable根据字段去重 最近需要对datatable根据字段去重,在网上搜了很多,找到了一个方法,代码如下 public static DataTable DistinctSomeColumn ...

  7. 深入理解Aspnet Core之Identity(4)

    主题 之前简单介绍了Asp.net core 的初步的使用,本篇我打算给大家介绍一下Identity的架构,让大家对Identity有一个总体的理解和认识. 简介 博客原文欢迎访问我的博客网站,地址是 ...

  8. 数据库的完整性约束(ForeignKey ,Unique)

    文字转自于 海燕.博客 一.介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 ...

  9. Socket编程概念

    一.网路套接字 在通信过程中,套接字是成对存在的,该套接字内部借助两个缓冲区实现 二.网络字序 1.存储方式 大端法(网络):高位存低位,低位存高位 小端法(本地):高位存高位,低位存低位 2.网络字 ...

  10. Reservoir Sampling-382. Linked List Random Node

    Given a singly linked list, return a random node's value from the linked list. Each node must have t ...