C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框
-----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库的使用 -- 标准对话框的更多相关文章
- Python -- Gui编程 -- Qt库的使用 -- 菜单与对话框
1.菜单 import sys from PyQt4 import QtCore, QtGui class MyWindow(QtGui.QMainWindow): def __init__(self ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽 -- 欢迎界面
程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽的关联
Qt信号与槽的三种关联方法:1.设计界面关联,编辑信号/槽,自动关联 2.手动关联(1).头文件中定义槽 -----mywidget.h----- #ifndef MYWIDGET_H #define ...
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结
主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt5试用
1.头文件<QtGui>变成了<QtWidgets> 相应<QtGui/***>变成了<QtWidgets/***> 2.QTextCodec::set ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 使用小写qDebug调试程序
qDebug作为printf不需要头文件 qDebug()作为cout要使用头文件<QDebug> -----debug.cpp----- -----debug.cpp----- #inc ...
- C/C++ -- Gui编程 -- Qt库的使用 -- Qt窗体的类型状态布局
-----工程WindowTest----- 1.-----窗体类型type.cpp----- #include <QtGui> int main(int argc, char * arg ...
- C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类
1.新建空Qt工程 2.新建C++类HelloQt 3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件 4.修改头文件helloqt.h #ifndef HELL ...
随机推荐
- Python初学者的捷径[译]
下面列出的都是这些年总结的Python的有用的知识点和一些工具.希望对你有所帮助! 交换变量值 x = 6 y = 5 x, y = y, x print x >>> 5 print ...
- (回文串 )Best Reward -- hdu -- 3613
http://acm.hdu.edu.cn/showproblem.php?pid=3613 Best Reward Time Limit: 2000/1000 MS (Java/Others) ...
- 快速排序—三路快排 vs 双基准
快速排序被公认为是本世纪最重要的算法之一,这已经不是什么新闻了.对很多语言来说是实际系统排序,包括在Java中的Arrays.sort. 那么快速排序有什么新进展呢? 好吧,就像我刚才提到的那样(Ja ...
- ASP.NET 中 <%= %> 与 <%: %> 的区别
做个备忘 <%= %> 内容原封不动输出 <%: %> 对内容进行编码后输出 即:<%: str %> 等价于 <%= Html.Encode(str) %& ...
- ASP.NET MVC 使 Controller 的 Action 只接受 Ajax 请求。
首先,ajax 请求跟一般的 web 请求本质是相同的,都是 http 请求.理论上服务器端是无法区分该次请求是不是 ajax 请求的,但是,既然标题都已经说了,那么肯定是有办法做的. 在 ajax ...
- 玩了下STM8单片机
偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白 ...
- TFS 2017 培训 - 北京某银行科技部Java研发团队
今天受邀和微软公司的朋友一起,为北京某银行科技部的两个Java研发团队做了一场TFS系统的技术培训. 按照需求分析>开发>编译>发布>测试的流程为研发团队做了全流程的介绍. 这 ...
- RabbitMQ 消息队列 DEMO
1. 引用 RabbitMQ.Client.5.1.0 2. http://localhost:15672/ public class TestController : ApiController { ...
- Linux(Debian)网卡设置
debian IP地址配置 vim /etc/network/interface 配置网卡eth0的IP地址 auto eth0 表示网卡随系统自动请 iface eth0 inet static ...
- K8S+GitLab-自动化分布式部署ASP.NET Core(二) ASP.NET Core DevOps
一.介绍 前一篇,写的K8S部署环境的文章,简单的介绍下DevOps(Development和Operations的组合词),高效交付, 自动化流程,来减少软件开发人员和运维人员的沟通.Martin ...