一、对话框部分常用内容
颜色对话框、文件对话框、字体对话框、输入对话框、消息对话框、进度对话框、错误对话框、向导对话框。

二、代码部分

 
      //widget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H #include <QWidget>
#include <QWizard> namespace Ui {
class MyWidget;
} class MyWidget : public QWidget
{
Q_OBJECT public:
explicit MyWidget(QWidget *parent = );
~MyWidget(); private slots:
void on_pushButton_clicked(); void on_pushButton_4_clicked(); void on_pushButton_2_clicked(); void on_pushButton_5_clicked(); void on_pushButton_3_clicked(); void on_pushButton_6_clicked(); void on_pushButton_7_clicked(); void on_pushButton_8_clicked(); private:
Ui::MyWidget *ui;
QWizardPage *createPage1();
QWizardPage *createPage2();
QWizardPage *createPage3();
}; #endif // MYWIDGET_H //widget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
#include <QDebug>
#include <QColorDialog>
#include <QFileDialog>
#include <QFontDialog>
#include <QInputDialog>
#include <QMessageBox>
#include <QProgressDialog>
#include <QErrorMessage>
#include <QWizard> MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
} MyWidget::~MyWidget()
{
delete ui;
} //颜色对话框
void MyWidget::on_pushButton_clicked()
{
// QColor color = QColorDialog::getColor(Qt::red, this, tr("颜色对话框"), QColorDialog::ShowAlphaChannel);
// qDebug()<<"color: "<<color;
QColorDialog dialog(Qt::red, this);
dialog.setOption(QColorDialog::ShowAlphaChannel);
dialog.exec();
QColor color = dialog.currentColor();
qDebug()<<"color:"<<color; } //文本对话框
void MyWidget::on_pushButton_4_clicked()
{
QString filename = QFileDialog::getOpenFileName(this, tr("文件对话框"), "E:", tr("文本文件(*txt)"));
qDebug()<<"fileName:"<<filename;
} //字体对话框
void MyWidget::on_pushButton_2_clicked()
{
bool ok;
QFont font = QFontDialog::getFont(&ok, this);
if(ok) ui->pushButton_2->setFont(font);
else qDebug()<<tr("没有选择字体!");
} //输入对话框
void MyWidget::on_pushButton_5_clicked()
{
bool ok;
QString string = QInputDialog::getText(this, tr("输入字符串对话框"),
tr("请输入用户名:"), QLineEdit::Normal, tr("admin"), &ok);
if(ok) qDebug()<<"string:"<<string;
//获取整数
int value1 = QInputDialog::getInt(this, tr("输入整数对话框"),
tr("请输入-1000到1000之间的数值"), , -, , , &ok);
if(ok) qDebug()<<"value1:"<<value1;
//获取浮点数
double value2 = QInputDialog::getDouble(this, tr("输入浮点数对话框"),
tr("请输入-1000到1000之间的数值"), 0.00, -, , , &ok);
if(ok) qDebug()<<"value2:"<<value2;
QStringList items;
items<<tr("条目1")<<tr("条目2");
//获取条目
QString item = QInputDialog::getItem(this, tr("输入条目对话框"),
tr("请选择一个条目"), items, , true, &ok);
if(ok) qDebug()<<"item:"<<item;
} //消息对话框
void MyWidget::on_pushButton_3_clicked()
{
//问题对话框
int ret1 = QMessageBox::question(this, tr("问题对话框"),
tr("你了解Qt吗?"), QMessageBox::Yes, QMessageBox::No);
if(ret1 == QMessageBox::Yes) qDebug()<<tr("问题!"); //提示对话框
int ret2 = QMessageBox::information(this, tr("提示对话框"),
tr("这是Qt书籍!"), QMessageBox::Ok);
if(ret2 == QMessageBox::Ok) qDebug()<<tr("提示!"); //警告对话框
int ret3 = QMessageBox::warning(this, tr("警告对话框"),
tr("不能提前结束!"), QMessageBox::Abort);
if(ret3 == QMessageBox::Abort) qDebug()<<tr("警告!"); //错误对话框
int ret4 = QMessageBox::critical(this, tr("严重错误对话框"),
tr("发现一个严重错误!现在要关闭所有文件!"), QMessageBox::YesAll);
if(ret4 == QMessageBox::YesAll) qDebug()<<tr("错误!"); //关于对话框
QMessageBox::about(this, tr("关于对话框"),
tr("yafeilinux.com致力于Qt及Qt Creator的普及工作!"));
} //进度对话框
void MyWidget::on_pushButton_6_clicked()
{
QProgressDialog dialog(tr("文件复制进度"), tr("取消"), , , this);
dialog.setWindowTitle(tr("进度对话框"));
dialog.setWindowModality(Qt::WindowModal);
dialog.show(); for(int i=;i<;i++) {
dialog.setValue(i);
QCoreApplication::processEvents();
if(dialog.wasCanceled()) break;
} dialog.setValue();
qDebug()<<tr("复制结束!");
} //错误对话框
void MyWidget::on_pushButton_7_clicked()
{
QErrorMessage *dialog = new QErrorMessage(this);
dialog->setWindowTitle(tr("错误信息对话框"));
dialog->showMessage(tr("这里是出错信息!"));
} QWizardPage *MyWidget::createPage1()
{
QWizardPage *page = new QWizardPage;
page->setTitle(tr("介绍"));
return page;
} QWizardPage *MyWidget::createPage2()
{
QWizardPage *page = new QWizardPage;
page->setTitle(tr("用户选择信息"));
return page;
} QWizardPage *MyWidget::createPage3()
{
QWizardPage *page = new QWizardPage;
page->setTitle(tr("结束"));
return page;
} //相对对话框
void MyWidget::on_pushButton_8_clicked()
{
QWizard wizard(this);
wizard.setWindowTitle(tr("向导对话框"));
wizard.addPage(createPage1());
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.exec();
}

main.cpp:

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

ui样子

Qt对话框部分学习的更多相关文章

  1. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  2. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  3. Qt 智能指针学习(7种指针)

    Qt 智能指针学习 转载自:http://blog.csdn.net/dbzhang800/article/details/6403285 从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ ...

  4. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  5. 【Qt官方例程学习笔记】Application Example(构成界面/QAction/退出时询问保存/用户偏好载入和保存/文本文件的载入和保存/QCommandLineParser解析运行参数)

    The Application example shows how to implement a standard GUI application with menus, toolbars, and ...

  6. QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译

    成功编译qgis,启动程序发现对话框上的OK.Open.Cancel.Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中: 最后发现这些按钮都是qt的QTGui4库中的QDia ...

  7. QT 对话框一

    标准文件对话框 其函数形式如下:: QString QFileDialog::getOpenFileName ( QWidget * parent=, const QString &capti ...

  8. Qt 对话框显示控制按钮

    在对话框窗体构造函数加入 SystemDialog::SystemDialog(QWidget *parent) : QDialog(parent), ui(new Ui::SystemDialog) ...

  9. QT对话框模式与非模式

    QT模态对话框及非模态对话框 非模态对话框(Modeless Dialog)的概念不是模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭.对于在模态来显示对 ...

随机推荐

  1. onclick 调用js选择器

     

  2. PHP curl_getinfo函数

    curl_getinfo — 获取一个cURL连接资源句柄的信息 说明 mixed curl_getinfo ( resource $ch [, int $opt = 0 ] ) 获取最后一次传输的相 ...

  3. 单词计数-MapReduceJob

    pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. ...

  4. 数字电路的与门、或门、非门--FPGA--005

    作者:young cc 链接:https://www.zhihu.com/question/23829080/answer/123791730来源:知乎著作权归作者所有,转载请联系作者获得授权. 数字 ...

  5. Linux配置postfix

    启动报错:主机名不能以数字开头,否则报错

  6. [NOIP模拟20]题解

    来自达哥的问候…… A.周 究级难题,完全不可做QAQ #include<cstdio> #include<iostream> #include<cstring> ...

  7. Django中执行原生SQL语句【新编辑】

    参考我的个人博客 这部分迁移到了个人博客中:Django中执行原生SQL语句 这里需要补充一下,还有一个extra方法: ret = models.Student.objects.all().extr ...

  8. 测开之路五十三:unittest运行参数

    Fixture:进行测试前的准备工作和测试后的清理操作.例如创建临时或是代理数据库,目录,服务进程等.用例(Case):最小的测试单元,检车特定输入的响应.TestCase作为所有用例的基类,测试ca ...

  9. 测开之路三十四:html常用标签

    网页的结构: HTML:超文本标记语言是迄今为止网络上应用最为广泛的语言,也是构成网页文档的主要语言.HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链 ...

  10. datastudion 资源导入python包,编写模块

    学习文档,不懂再问. https://help.aliyun.com/document_detail/74423.html?spm=a2c4g.11186623.6.688.72635debHqgkV ...