天天看点

QT一些函数和需要记忆的一些东西QT一些函数和需要记忆的一些东西

QT一些函数和需要记忆的一些东西

  • QT一些函数和需要记忆的一些东西
    • Qt::WindowFlags的枚举类型
    • 窗口几何布局
    • 调试问题(Interacting with the Debugger和Debugging the Example Application)
    • 各类对话框
    • QSizePolicy类大小策略的取值
    • 表单布局管理器相关属性说明
    • QLayout类的大小约束属性的取值
    • 信号和槽关联类型表

Qt::WindowFlags的枚举类型

内容 具体意义
Qt::widget 0x00000000 默认值
Qt::window 0x00000001 window,通常有一个window框架并且有个标题栏
Qt::Dialog 0x00000002|Window 对话框
Qt::Sheet 0x000000004|Window Mac表格
Qt::Drawer Sheet Dialog
Qt::Popup 0x00000008|Window 弹出窗体
Qt::Tool Popup|Dialog 工具窗口
Qt::ToolTip Popup|Sheet 工具提示功能
Qt::SplashScreen ToolTip|Dialog a splash screen(见QSplashScreen),一个欢迎界面
Qt::Desktop 0x00000010|Window 代表该部件为一个桌面,QDesktopWidget
Qt::SubWindow 0x00000012 sub-window,是一个QMdiSubWindow
Qt::ForeignWindow 0x00000020|Window 表示该窗口是由其他程序创建或者通常使用本地编码
Qt::CoverWindow 0x00000040|Window Cover窗口,当程序最小化时会出现
Qt::MSWindowsFixedSizeDialogHint 0x00000100 很薄的边框
Qt::MSWindowsOwnDC 0x00000200 给予上下文

窗口几何布局

函数 说明
x() 应用程序最左上角的x值(包含框架)
y() 应用程序最左上角的y值(包含框架)
pos() 应用程序最左上角的位置(包含框架)
frameGeometry() 应用程序的长宽(包含框架)
move() 应用程序的移动值
geometry() 长宽(不包含框架)
width() 宽度(不包含框架)
height() 高度(不包含框架)
rect() 返回程序所在的正方形(不包含框架)
size() 返回程序的大小(不包含框架)

调试问题(Interacting with the Debugger和Debugging the Example Application)

需求 方法效果
设置断点在相应行最前方点击 在相应行最前方点击,会看到一个红色的圆圈
开始调试 按下F5,或者点击调试按钮
继续按钮 恢复正常运行,直到遇到下一个断点,或者程序结束
停止调试按钮 结束调试
单步跳过按钮 直接执行本行代码,然后指向下一行代码
单步进入按钮 进入调用的函数内部或按下F11
单步跳出按钮 进入函数内部时,可直接跳出该函数
查找函数或者类 点击对应的函数或者类然后按下F2
输出对应的信息 qDebug()函数

各类对话框

  1. 颜色对话框
方法 解释
getColor(const QColor &initial=Qt::white,QWidget *parent=Q_NULLPTR, const QString &title=QString(), ColorDialogOptions options = ColorDialogOptions) 第一个参数为初始颜色,第二个是对应的父窗口,第三个参数为对话框标题,第四个暂时不太清楚,该函数用来获取颜色
QColorDialog dialog(QColor,QWidget) 第一个参数为初始颜色,第二个参数为父窗口,创建一个颜色对话框
setOption(QColorDialog::ShowAlphaChannel) 显示alpha选项
exec() 以模态方式运行对话框
currentColor() 获取当前颜色

2. 文件对话框

方法 解释
QFileDialog::getOpenFileName(QWidget,tr(“”),”“,tr() 第一个参数父类窗口,第二个参数对话框标题,第三个参数默认路径,第四个参数文件类型,获取相应文件名(包含路径)
getSaveFileName() 保存文件对话框和文件另存为对话框
getExistingDirectory() 获取一个已存在的文件夹路径

3. 字体对话框

方法 解释
QFontDialog::getFont(bool,QWidget) 第一个参数是否选择了字体,第二个参数父类窗口

4. 输入对话框

方法 解释
QInputDialog::getText(QWidget,tr(),tr(),QLineEdit::Normal,tr(),bool) 第一个参数为父类窗口,第二个是对话框标题,第三个是对话框提示,第四个是text的初始值,第三个…,第四个是是否输入
QInputDialog::getInt() 获取整数
QInputDialog::getDouble() 获取浮点数
QInputDialog::getItem() 获取条目

5. 消息对话框

方法 解释
QMessageBox::question(QWidget,tr(),tr()) 问题对话框
QMessageBox::information() 提示对话框
QMessageBox::warning() 警告对话框
QMessageBox::critical() 错误对话框
QMessageBox::about() 关于对话框

6. 进度对话框

方法 解释
QProgressDialog dialog(tr(),tr(),sec,sec,Qwidget) 创建
setWindowTitle() 设置标题
setWindowModality() 设置模态或者非模态

7. 错误信息对话框

方法 解释
QErrorMessage *dialog() = new QErrorMessage() 创建
setWindowTitle() 设置标题
showMessage() 显示消息

8. 向导对话框

方法 解释
QWizardPage *page = new QWizardPage 创建
QWizard wizard() 创建QWizard
addPage() 添加页

QSizePolicy类大小策略的取值

常量 描述
QSizePolicy::Fixed 只能使用sizeHint()提供的值,无法伸缩
QSizePolicy::Minimum sizeHint()提供的大小是最小的,部件可以被拉伸
QSizePolicy::Maximum sizeHint()提供的是最大大小,部件可以被压缩
QSizePolicy::Preferred sizeHint()提供的大小是最佳大小,部件可以伸缩
QSizePolicy::Expanding sizeHint()提供的是合适的大小,部件可以被压缩,不过倾向于拉伸
QSizePolicy::MinimumExpanding sizeHint()提供的大小是最小的,部件倾向于被拉伸
QSizePolicy::Ignored sizeHint()被忽略,部件将尽可能的被拉伸来获取更多的空间

表单布局管理器相关属性说明

属性 说明 说明
layoutFieldGrowthPolicy 指定部件大小变化方式 AllNonFixedFieldsGrow 所有部件都被拉伸
FieldsStayatSizeHint 所有部件都是用sizeHint()提供的大小
ExpandingFieldsGrow 大小策略为Expanding的部件会被拉伸
layoutRowWrapPolicy 设置是否换行,如果需要换行,则是将输入部件放到相应的标签下面 DontWrapRows 不换行,默认值
WrapLongRows 较长的行进行换行
WrapAllRows 大小策略为ng的部件会被拉伸
layoutLabelAlignment 设置标签对齐方式 水平方向 AlignLeft 左对齐
AlignRight 右对齐
AlignHCenter 水平居中对齐
AlignJustify 两端对齐
垂直方向 AlignTop 向上对齐
AlignBottom 向下对齐
AlignVCenter 垂直居中对齐
layoutFormAlignment 设置部件在表单中的对齐方式 同layoutLabelAlignment属性 同layoutLabelAlignment属性

QLayout类的大小约束属性的取值

常量 描述
QLayout::SetDefaultConstraint 主窗口大小设置为minimumSize()的值,除非该部件已经有一个最小大小
QLayout::SetFixedSize 主窗口大小设置为sizeHint()的值,它无法改变大小
QLayout::SetMinimumSize 主窗口最小大小设置为minimumSize()的值,它无法再缩小
QLayout::SetMaximumSize 主窗口最大大小设置为maximumSize()的值,它无法再放大
QLayout::setMinAndMaxSize 设置最大最小
QLayout::SetNoConstraint 部件不被约束

信号和槽关联类型表

常量 描述
Qt::AutoConnection 如果信号和槽在不同的线程中,同Qt::QueuedConnection;如果在,则同Qt::DirectConnection
Qt::DirectConnection 发射完信号后立即执行槽,只有槽执行完成返回后,发射信号处后面的代码才可以执行
Qt::QueuedConnection 接收部件所在线程的事件循环返回后再执行槽,无论槽执行与否,发射信号处后面的代码都会立即执行
Qt::BlockingQueuedConnection 类似Qt::QueuedConnection,只能用在信号和槽在不同线程的情况下
Qt::UniqueConnection 类似Qt::AutoConnection,但是两个对象间的相同的信号和槽只能有唯一的关联
Qt::AutoCompatConnection 类似Qt::AutoConnection,它是Qt3中的默认类型
Qt

继续阅读