qt内置对话框学习
来源:互联网 发布:安卓是linux系统吗 编辑:程序博客网 时间:2024/05/12 04:37
1、页面布局:
QGridLayout*gridLayout = new QGridLayout //创建布局
gridLayout->addWidget(控件,行号,列号,行跨度,列跨度)
setLayout(gridLayout) //布局生效
-----------------------------------------------------------------------------------------------------------------
2、颜色对话框:
QPalettepalette = textedit->palette() //从文本编辑器取出调色板对象
窗口类都有一些共同的属性对象,比如调色板、字体等等
const QColor& color =QColorDialog::getColor(palette.color(QPalette::Base), this) //调出颜色选择对话框,从中选择一种颜色,这种颜色是由该窗口的基本调色板中获得的,我猜不同调色板的特性不一样,所以有this参数,获得的颜色的方式是基本方式,这我不太确定。这里只是选取颜色,选取的范围是在该窗口特有调色板上选取的,设置在下一步
palette.setColor(QPalette::Base,color) //设置调色板,设置方式,颜色
textEdit->setPalette(palette) //在空间上绘制颜色
给控件绘制颜色的流程路线:
(1)取出控件的调色板属性对象
(2)打开颜色选取对话框,选取一种颜色
(3)设置调色板颜色
(4)在空间上绘制颜色
效果图:
-----------------------------------------------------------------------------------------------------------------
3、字体对话框:
const QFont& font =QFontDialog::getFont(&bool,textEdit()->font(),this,标题) //第二个参数是QFontfont = textEdit->font(),获取文本编辑对象的字体属性对象,这里跟颜色设置十分相似
textEdit()->setFont(font) //设置字体
窗体设置字体的流程:
(1)获得窗体对象的字体属性对象
(2)打开字体选择对话框,选择一种字体
(3)设置字体
效果图:
-----------------------------------------------------------------------------------------------------------------
4、进度条对话框:
QProgressDialog progress(标签字符串,按钮标题,开始数,完成数,this)
//(“正在复制文件…”, “取消”, 0, 1000, this) 从0开始,1000结束,表示进度
QFontfont("ZYSong18030",10) //进程窗口的字体设置,其他窗口一样
progress.setFont(font)
progress.setValue(i) //这里的i是一个循环数,用来表示进程执行到哪里了
progress.wasCanceled() //进程没有完成就按下取消按钮将返回bool类型
效果图:
-----------------------------------------------------------------------------------------------------------------
5、输入对话框:
输入对话框QInputDialog有各种不同的方法来输入不同的类型,本质上是选择一个一个的项目,但是可以通过设置参数来手动修改
字符串输入:
QString name = QInputDialog::getText(this,标题,提示标签,模式,默认初始字符串,&bool) //&bool应该是表示是否输入成功的一个参数
效果图:
整数输入:
int age = QInputDialog::getInteger(this,标题,提示标签,初始值,开始值,末尾值,步长,&bool)
效果图:
浮点型输入:
double high =QInputDialog::getDouble(this,标题,提示标签,初始值,开始值,末尾值,步长,&bool)
效果图:
项目选择:
QString sex = QInputDialog::getItem(this,标题,标签提示,字符串列表,初始项目索引,是否可以手动修改,&bool)
效果图:
-----------------------------------------------------------------------------------------------------------------
6、向导对话框:
QWizardwizard //创建了一个向导对象
wizard.addPage(&QWizardPage);//添加一页
QWizardPage*page = new QWizardPage //创建页对象
page->setTitle(Title) //设置标题
QLable*label = new QLabel(“第一页”)
label->setWordWarp(bool) //设置标签自动换行
QVBoxLayout*layout = newQVBoxLayout //创建布局
layout->addWidget(label)
page->setLayout(layout) //给页面设置布局
效果图:
-----------------------------------------------------------------------------------------------------------------
7、页设置对话框:
QPrinterprinter
QPageSetupDialogdlg(&printer, this) //页设置窗口
dlg.exet()== QDialog::Accepted //是否正常退出
具体用法以后再了解
效果图:
-----------------------------------------------------------------------------------------------------------------
8、文件对话框:
打开一个文件:
QFileDialog*filedialog = new QFileDialog(this)
filedialog->setTialog(标题)
filedialog->setDirectory(路径) //打开对话框时默认的文件路径
filedialog->setFilter(“文件(*.cpp *.c)”) //文件类型过滤
//文件过滤一般都这种形式,用空格隔开,*代表通配符
QStringpath = filedialog->selecteFiles()[0] //获取文件路径
//该函数返回文件绝对路径的列表,意思是可以选择多个文件了
效果图:
打开多个文件:
QStringList files = QFileDialog::getOpenFileNames(this,标题,默认路径,过滤器) //这里过滤器学习一种新的用法
“文件1(*.cpp);;文件2(*.h *.pro)” //用;;隔开个过滤器
效果:
效果图:
选择文件夹对话框:
QFileDialog::Optionsoptions=QFiledialog::DontResolveSymlinks|QFileDialog::ShowDirOnly|QFileDialog::DontUseNativeDialog
QString directory = QFileDialog::getExistingDirectory(this,标题,初始路径,options) //该方法就是获取被选文件的路径
//整体来看就是创建了一次选择,要求是在文件对话框中只能出现当前路径的文件夹,并且文件对话框的样式不能使用系统自带的,DontResolveSymlinks参数的意思还是不太理解
效果图:
-----------------------------------------------------------------------------------------------------------------
9、信息提示错误类对话框:
提示对话框:
QMessageBox::information(this,标题,提示内容)
效果图:
错误对话框:
QMessageBox::critical(this,标题,提示内容)
效果图:
警告对话框:
switch(QMessageBox::warning(this,标题,警告内容,按钮1|按钮2))
{
case按钮1发出的信号:statement1;break;
case按钮2发出的信号:statement2;break;
}
//这里的按钮在QMessageBox中去找,QMessageBox::Save
效果图:
自定义对话框:
QMessageBoxcustomMsgBox
customMsgBox.setWindowTitle(标题)
QPushButton*button1 = customMsgBox.addButton(标题,按钮类型)
QPushButton*button2 = customMsgBox.addButton(标题,按钮类型)
QPushButton*button3 = customMsgBox.addButton(标题,按钮类型)
// 按钮类型在QMessageBox中找
customMsgBox.setText(tr("自定义对话框"));
效果图:
错误信息框:
QErrorMessageerrorBox(this)
errorBox.setWindowTitle(标题)
errorBox。showMessage(提示内容1)
errorBox。showMessage(提示内容2)
errorBox。showMessage(提示内容3)
…………………
errorBox.exec() //退出
效果图:
-----------------------------------------------------------------------------------------------------------------
10、关于对话框:
QMessageBox::aboutQt(this,标题)
效果图:
QMessageBox::about(this,标题)
效果图:
-----------------------------------------------------------------------------------------------------------------
11、下拉列表:
QComboBox*colorComboBox = new QComboBox //创建下拉列表
QStringListcolorlist = QColor::colorNames() //返回Qt知道的颜色到列表
QStringcolor
foreach(color,colorlist) //遍历列表元素
{
QPixmappix(QSize(70, 20)) //创建一个特定大小的位图
pix.fill(QColor(color)) //位图填充颜色
colorComboBox->setItem(QIcon(pix)) //给下拉列表的项目填充内容
colorComboBox->setIconSize(QSize(70,20)) //下拉列表框大小
colorComboBox->setSizeAdjustPolicy(QComboBox:: AdjustToContents)
// 自动适应大小并调整
}
-----------------------------------------------------------------------------------------------------------------
12、中文报错解决方案:
QTextCodec*codec = QTextCodec::codecForName(“GBK”)
QTextCodec::setCodecForTr(codec)
QTextCodec::setCodecForLocale(codec)
QTextCodec::setCodecForCStrings(codec)
具体编码方式暂不深究
-----------------------------------------------------------------------------------------------------------------
13、QTest的初次使用:
-----------------------------------------------------------------------------------------------------------------
14、初次使用多按钮对应一个槽函数:
-----------------------------------------------------------------------------------------------------------------
注:第13、14点内容有点多,单独总结!
注:源码和效果图查看链接:
http://download.csdn.net/detail/m0_37231530/9869627
- qt内置对话框学习
- QT 内置标准对话框
- Qt浅谈之三:内置标准对话框
- Qt浅谈之内置标准对话框
- Qt浅谈之三:内置标准对话框
- Qt 内置对话框英文改成中文
- Qt学习--创建对话框
- QT学习--对话框
- Qt学习笔记--对话框
- Qt对话框部分学习
- QT内置的窗口部件类和对话框类
- QT学习笔记----登录对话框
- Qt学习之内建对话框
- QT学习笔记之对话框
- 学习记录-Qt标准对话框
- qt学习之扩展对话框
- QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框
- QT学习笔记4---登陆对话框
- 计蒜客-排序后的数组删除重复数字
- 洛谷P3376【模板】网络最大流
- Flume安装部署,采集方案配置文件编写案例,启动agent采集数据
- 无监督学习:异常检测与剔除(局部异常因子法 & SVM异常检测器)
- qq登录案例
- qt内置对话框学习
- 翻硬币游戏
- 说说 Spring AOP 原理
- PHP中一些文件处理函数的使用
- 算法导论部分习题备注
- MySQL中视图的定义、原理和如何使用、创建
- 关于推荐系统中的特征工程
- 计算机领域的所有SCI最顶级期刊
- textarea的placeholder无效问题解决