文件对话框静态函数

QString QFileDialog::getOpenFileName
{
QWidget *parent = 0; //标准文件对话框的父窗口
const QString &caption = QString(); //标准文件对话框的标题名
const QString &dir = QString(); //指定了默认的目录
const QString &filter = QString(); //对文件类型进行过滤,只有与过滤器匹配的文件类型才显示,可以同事指定多种多滤方式,用”;;“隔开
QString *selectedFilter = 0; //用户选择的过滤器通过此参数返回
Options options = 0; //选择显示文件名的格式,默认是同时显示目录与文件名
}
1
2
3
4
5
6
7
8
9
使用:

//以自己为父窗口,命名为“open file dialog",从”/“目录开始搜索,
//寻找.c,.cpp以及.h文件
QString s = QFileDialog::getOpenFileName(this,"open file dialog","/"
,"C++ files(*.cpp);;C file(*.c);;Head files(*.h)");
fileLineEdit->setText(s);
1
2
3
4
5
效果如果:

标准颜色对话框静态函数

QColor getColor()
{
const QColor &initial = Qt::white;//指出默认选中的颜色
QWidget *parent = 0;
}
1
2
3
4
5
通过QColor::isValid()函数判断用户选择的颜色是否有效

void Dialog::showColor()
{
QColor c = QColorDialog::getColor(Qt::blue);
if(c.isValid())
{
colorFrame->setPalette(QPalette(c));
}
}
1
2
3
4
5
6
7
8
效果如下:

字体对话框静态函数

QFont getFont
{
bool *ok;//用户选择ok,*ok为true,函数返回用户选择的字体,否则,返回默认字体
QWidget *parent = 0;
}
1
2
3
4
5
使用:

void dialog::showFont()
{
bool ok;
QFont f = QFontDialog::getFont(&ok);
if(ok)
{
fontLineEdit->setFont(f);
}
}
1
2
3
4
5
6
7
8
9
效果:

各种输入对话框
字符串输入对话框
静态函数getText()

QString getText
{
QWidget *parent, //父窗口
const QString &title, //标题名
const QString &label, //标签提示
QLineEdit::EchoMode mode = QLineEdit::Normal, //QLineEdit控件的输入模式
const QString &text = QString(), //对话框弹出时QLineEdit控件中默认出现的文字
bool *ok = 0, //指示哪个按钮被触发
Qt::WindowFlags flags = 0 //指明对话框的窗体标识
};
1
2
3
4
5
6
7
8
9
10
使用:

void InputDlg::ChangeName()
{
bool ok;
QString text = QInputDialog::getText(this,tr("标准字符串输入对话框"),tr("请输入姓名: "),QLineEdit::Normal,nameLabel2->text(),&ok);
if(ok && !text.isEmpty())
{
nameLabel2->setText(text);
}
}
1
2
3
4
5
6
7
8
9
效果:

条目对话框
静态函数getItem()

QString getItem
{
QWidget *parent,
const QString &title,
const QString &label,
const QString &items, //指定QComboBox控件显示的可选条目是一个QStringList对象
int current = 0, //QComboBox控件中默认显示的条目的序号
bool *ok = 0,
Qt::WindowFlags flags = 0
};
1
2
3
4
5
6
7
8
9
10
使用:

void InputDlg::ChangeSex()
{
QStringList SexItems;
SexItems << tr("男") << tr("女");
bool ok;
QString SexItem = QInputDialog::getItem(this,tr("标准条目选择对话框"),tr("请选择性别: "),SexItems,0,false,&ok);
if(ok && !SexItem.isEmpty())
sexLabel2->setText(SexItem);
}
1
2
3
4
5
6
7
8
9
效果:

int类型输入对话框
静态函数getInt()

int getInt
{
QWidget *parent,
const QString &title,
const QString &label,
int value = 0, //QSpinBox控件的默认显示值
int min = -2147483647, //指定QSpinBox控件的数值范围
int max = 2147483647,
int step = 1, //使用QSpinBox控件的步进值,也就是按上下一次增加多少
book *ok = 0,
Qt::WindowFlags flags = 0
};
1
2
3
4
5
6
7
8
9
10
11
12
使用:

void InputDlg::changeAge()
{
bool ok;
int age = QInputDialog::getInt(this,tr("标准int类型输入对话框"),
tr("请输入年龄: "),ageLabel2->text().toInt(&ok),0,100,1,&ok);
if(ok)
ageLabel2->setText(QString(tr("%1")).arg(age));
}
1
2
3
4
5
6
7
8

double类型输入对话框
静态函数getDouble()

double getDouble
{
QWidget *parent,
const QString &title.
const QString &label,
double valur = 0, //QSpinBox控件的默认显示值
double min = -2147483647, //QSpinBox控件的范围
double max = 2147483647,
int decimals = 1, //QSpinBox的步进值
bool *ok = 0,
Qt::WindowFlags flags = 0
};
1
2
3
4
5
6
7
8
9
10
11
12
使用:

void InputDlg::ChangeScore()
{
bool ok;
double score = QInputDialog::getDouble(this,tr("标准double输入对话框"),tr("请输入成绩: "),
scoreLabel2->text().toDouble(&ok),0,100,1,&ok);
if(ok)
scoreLabel2->setText(QString(tr("%1")).arg(score));
}
1
2
3
4
5
6
7
8
效果:

消息会话框
Question消息框
静态函数QMessageBox::question

StandardButton QMessageBox::question
{
QWidget *parent,
const QString &title,
const QString &text,
StandardButtons buttons = Ok, //填写希望在消息框中出现的按钮
StandardButton defaultButton=NoButton //默认按钮焦点默认处于哪个按钮
};
1
2
3
4
5
6
7
8
对于上述的Ok,可以用 | 连写,QMessageBox类提供了很多标准按钮,例如:
QMessageBox::Ok、QMessageBox::Close、QMessageBox::Discard等,这些东西虽然可以选择,但不可乱选,且通常都是成对出现的,例如:
Save与Discard
Abort、Retry、Ignore一起出现
使用:

void MsgBoxDlg::showQuestinMsg()
{
label->setText(tr("Question Message Box"));
switch(QMessageBox::question(this,tr("Question 消息框"),
tr("您现在已经修改完成,是否要结束程序?"),
QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Ok))
{
case QMessageBox::Ok:
label->setText("Question button/Ok");
break;
case QMessageBox::Cancel:
label->setText("Question button\Cancel");
break;
default:
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
效果:

Information消息框
静态函数Information()

StandardButton QMessageBox::information
{
QWidget *parent,
const QString &title,
const QString &text,
StandardButtons buttons = Ok, //同上
StandardButton defaultButton = NoButton //同上
};
1
2
3
4
5
6
7
8
使用:

void MsgBoxDlg::showInformationMsg()
{
label->setText(tr("Information Message Box"));
QMessageBox::information(this,tr("Information消息框"),tr("这是Information对话框,欢迎您!"));
}
1
2
3
4
5
效果:

Warning消息框
静态函数warning()

StandardButton QMessage::warning
{
QWidget *parent,
const QString &title,
const QString &text,
StandardButtons buttons = Ok,
StandardButton defaultButton=NoButton
};
1
2
3
4
5
6
7
8
使用:

void MsgBoxDlg::showWarningMsg()
{
label->setText(tr("Warning Message Box"));
switch(QMessageBox::warning(this,tr("Warning消息框"),tr("您修改的内容还未保存,是否要保存对文档的修改?"),
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel,QMessageBox::Save))
{
case QMessageBox::Save:
label->setText(tr("Warning button/Save"));
break;
case QMessageBox::Discard:
label->setText(tr("Warning button/Discard"));
break;
case QMessageBox::Cancel:
label->setText(tr("Warning button/Cancle"));
break;
default:
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
效果:

Critical消息框
静态函数critical()

StandardButton QMessageBox::critical()
{
QWidget *parent,
const QString &title,
const QString &text,
StandardButtons buttons = Ok,
StandardButton defaultButton = NoButton
};
1
2
3
4
5
6
7
8
使用:

void MsgBoxDlg::showCriticalMsg()
{
label->setText(tr("Critical Message Box"));
QMessageBox::critical(this,tr("Critical消息框"),tr("这是一个Critical消息框!"));
}
1
2
3
4
5
效果:

About消息框
静态函数about()

void MessageBox::about
{
QWidget *parent,
const QString &title,
const QString &text
};
1
2
3
4
5
6
使用:

void MsgBoxDlg::showAboutMsg()
{
label->setText(tr("About Message Box"));
QMessageBox::about(this,tr("About消息框"),tr("这是一个About消息框!"));
}
1
2
3
4
5
效果:

AboutQt消息框
静态函数aboutQt()

void QMessageBox::aboutQt
{
QWidget *parent,
const QString &title = QString()
};
1
2
3
4
5
使用:

void MsgBoxDlg::showAboutQtMsg()
{
label->setText(tr("About Qt Message Box"));
QMessageBox::aboutQt(this,tr("About Qt 消息框"));
}
1
2
3
4
5
效果:

自定义消息框

void dialog::showCustomDlg()
{
label->setText(tr("Custom Message Box"));
QMessageBox customMsgBox;
customMsgBox.setWindowTitle(tr("用户自定义消息框"));
//addButton()函数为消息框添加自定义的按钮,第一个参数为按钮名,第二个参数为按钮的类型
QPushButton *yesBtn = customMsgBox.addButton(tr("Yes"),QMessageBox::ActionRole);
QPushButton *noBtn = customMsgBox.addButton(tr("No"),QMessageBox::ActionRole);
QPushButton *cancelBtn = customMsgBox.addButton(QMessageBox::Cancel);
//设置消息框中显示的提示信息内容
customMsgBox.setText(tr("这是一个用户自定义消息框"));
//设置消息框的图标
customMsgBox.setIconPixmap(QPixmap("0.png"));
customMsgBox.exec();
if(customMsgBox.clickedButton() == yesBtn)
label->setText("Custom Message Box/Yes");
if(customMsgBox.clickedButton() == noBtn)
label->setText("Custom Message Box/No");
if(customMsgBox.clickedButton() == cancelBtn)
label->setText("Custom Message Box/Cancel");
---------------------

Qt学习笔记12:基本会话框4——总结的更多相关文章

  1. SpringMVC:学习笔记(12)——ThreadLocal实现会话共享

    SpringMVC:学习笔记(12)——ThreadLocal实现会话共享 ThreadLocal ThreadLocal,被称为线程局部变量.在并发编程的情况下,使用ThreadLocal创建的变量 ...

  2. Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...

  3. qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果

    应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...

  4. Ext.Net学习笔记12:Ext.Net GridPanel Filter用法

    Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...

  5. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  6. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  7. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  8. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

  9. 并发编程学习笔记(12)----Fork/Join框架

    1. Fork/Join 的概念 Fork指的是将系统进程分成多个执行分支(线程),Join即是等待,当fork()方法创建了多个线程之后,需要等待这些分支执行完毕之后,才能得到最终的结果,因此joi ...

随机推荐

  1. C++ set和map的简单使用

    C++中的STL模板库的功能可谓相当强大.今天我们来简单说一下set和map的使用方法. 1.pair 我们先来说一下pair.pair定义在头文件<utility>中,其本身相当于一个已 ...

  2. 分享几篇文章(PDF版)

    后天就要回老家了,除了团团年估计也没有其他好玩的,就琢磨下点经典文章带回去看看. Google一番找到了老赵很早以前的文章: http://www.cnblogs.com/JeffreyZhao/ar ...

  3. sharepoint服务器修改密码后出现HTTP Error 503

    HTTP Error 503   解决办法: 更改sharepoint 网站应用程序池标示后,更改标示重新输入管理员密码,问题解决!

  4. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7

    课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...

  5. 看鸟哥的Linux私房菜的一些命令自我总结(二)

    -关于执行文件路径的变量  $PATH -查看文件与目录  ls -a  :全部的文件,连同隐藏文件一起列出来 -d  :仅列出目录本身,而不是列出目录内的文件数据 -i   :列出inode号码 - ...

  6. 洛谷 - P1219 - 八皇后 - dfs

    https://www.luogu.org/problemnew/show/P1219 一开始朴素检查对角线就TLE了,给对角线编码之后压缩了13倍时间? 找了很久的bug居然是&&写 ...

  7. 开挂的map

    转自:http://blog.csdn.net/sunshinewave/article/details/8067862 #include<iostream> #include<ma ...

  8. 当打开一个.h或.cpp文件时, Solution Explorer就自动展开文件所在的目录

    当打开一个.h或.cpp文件时,  Solution Explorer就自动展开文件所在的目录: 如果不想展开: Tools           -> Options           -&g ...

  9. SpringBoot整合Spring Data Solr

    此文不讲solr相关,只讲整合,内容清单如下 1. maven依赖坐标 2. application.properties配置 3. Java Config配置 1. maven坐标 <depe ...

  10. HDU6446(树上、排列的贡献计算)

    关键点在于:全排列中,任意两点u.v相邻的次数一定是(n - 1)! * 2次,即一个常数(可以由高中数学知识计算,将这两个点捏一起然后全排列然后乘二:或者用n! / C(2, n)). 这之后就好算 ...