前言
罗列自己用到的一些Qt操作函数
一、窗口操作
1、设置最小/最大窗口大小
setMinimumSize(300, 300);
setMaximumSize(300, 300);
2、设置控件基于当前窗口的位置x y和控件大小 w h
ui->treeWidget->setGeometry(20,20,250,250);
3、窗口类型设置枚举
QWidget * widget = new QWidget();
Qt::WindowFlags flags = Qt::Dialog;
widget->setWindowFlags(flags);
widget->show();
属性 | 值 | 说明 |
---|
Qt::Widget | 0x00000000 | QWidget构造函数的默认值,如果新窗口没有父窗口部件,则它是一个独立窗口,否则就是一个子窗口部件 |
Qt::Window | 0x00000001 | 无论是否有父窗口部件,新窗口都是一个窗口,有边框有标题栏 |
Qt::Dialog | 0x00000002丨Window | 新窗口部件是一个对话框,是QDialog构造函数的默认值 |
Qt::Sheet | 0x00000004丨Windo | 新窗口部件是一个Macintosh表单(sheet) |
Qt::Drawer | Sheet丨Dialog | 新窗口部件是一个Macintosh抽屉(drawer) |
Qt::Popup | 0x00000008丨Window | 新窗口部件是一个弹出式顶层窗口 |
Qt::Tool | Popup丨Dialog | 新窗口部件是一个工具窗口,通常是一个用于显示工具按钮的小窗口。如果一个工具窗口有父窗口部件,则它将显示在父窗口部件的上面,否则,相当于使用了提示框 |
Qt::ToolTip | Popup丨Sheet | 新窗口部件是一个提示窗口,没有标题栏和窗口边框 |
Qt::SplashScreen | ToolTip丨Dialog | 新窗口部件是一个欢迎窗口,是QSplashScreen构造函数的默认值 |
Qt::Desktop | 0x00000010丨Window | 新窗口部件是桌面,它是QDesktopWidget构造函的默认值 |
Qt::SubWindow | 0x00000012 | 新窗口部件是一个子窗口,无论该窗口部件是否有父窗口 |
Qt::ForeignWindow | 0x00000020丨Window | |
Qt::CoverWindow | 0x00000040丨Window | |
Qt::MSWindowsFixedSizeDialogHint | 0x00000100 | 为Windows系统上的窗口装饰一个窄的对话框边框,一般这个提示用于固定大小的对话框 |
Qt::MSWindowsOwnDC | 0x00000200 | 为Windows系统上的窗口添加自身的显示上下文菜单 |
Qt::BypassWindowManagerHint | 0x00000400 | |
Qt::X11BypassWindowManagerHint | BypassWindowManagerHint | 完全忽视窗口管理器,产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow()函数) |
Qt::FramelessWindowHint | 0x00000800 | 产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变其大小 |
Qt::NoDropShadowWindowHint | 0x40000000 | |
Qt::CustomizeWindowHint | 0x02000000 | 关闭默认的窗口标题提示 |
Qt::WindowTitleHint | 0x00001000 | 为窗口装饰一个标题栏 |
Qt::WindowSystemMenuHint | 0x00002000 | 为窗口添加一个窗口系统菜单,并尽可能的添加一个关闭按钮 |
Qt::WindowMinimizeButtonHint | 0x00004000 | 为窗口添加一个“最小化”按钮 |
Qt::WindowMaximizeButtonHint | 0x00008000 | 为窗口添加一个“最大化”按钮 |
Qt::WindowMinMaxButtonsHint | WindowMinimizeButtonHint丨WindowMaximizeButtonHint | 为窗口添加一个“最小化”和“最大化”按钮 |
Qt::WindowCloseButtonHint | 0x08000000 | 为窗口添加一个“关闭”按钮 |
Qt::WindowContextHelpButtonHint | 0x00010000 | 为窗口添加一个“上下文帮助”按钮 |
Qt::WindowType_Mask | 0x000000ff | 一个用于提取窗口标识中的窗口类型部分的掩码 |
4、设置主窗口标题栏文字
setWindowTitle("DockWindows");
5、添加控件到窗口中
QTextEdit *te = new QTextEdit(this);
te->setText("Main Window");
te->setAlignment(Qt::AlignCenter);
setCentralWidget(te);
dock = new QDockWidget("DockWindow2",this);
dock->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable);
QTextEdit *te2 = new QTextEdit();
te2->setText("在浮动和右停靠两者切换,不可移动");
dock->setWidget(te2);
二、项设置
1、属性设置
QTreeWidgetItem *group1 = new QTreeWidgetItem(ui->treeWidget);
group1->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
属性 | 说明 |
---|
Qt::NoItemFlags | 不设置任何属性 |
Qt::ItemIsSelectable | 可以选择 |
Qt::ItemIsEditable | 可以编辑 |
Qt::ItemIsDragEnabled | 可以拖动 |
Qt::ItemIsDropEnabled | 可以用作拖放目标 |
Qt::ItemIsUserCheckable | 用户可以对其进行检查或取消检查 |
Qt::ItemIsEnabled | 可以进行交互 |
Qt::ItemIsAutoTristate | 项目的状态取决于其子项的状态。 这样就可以自动管理QTreeWidget中父项的状态(如果所有子项都被选中,则选中;如果所有子项都被选中,则选中;如果只有一些子项被选中,则选中部分) |
Qt::ItemNeverHasChildren | 项目永远不会有子项目。 这仅用于优化目的 |
Qt::ItemIsUserTristate | 用户可以循环使用三种不同的状态。 这个值是在Qt 5.5中添加的 |
2、检查状态
QTreeWidgetItem *group1 = new QTreeWidgetItem(ui->treeWidget);
group1->setText(0,"group1");
group1->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
group1->setCheckState(0, Qt::Unchecked);
属性 | 说明 |
---|
Qt::Unchecked | 未选择 |
Qt::PartiallyChecked | 部分选择 |
Qt::Checked | 全选择 |
三、正则表达式
#include <QRegExpValidator>
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
ui->lineEdit->setValidator(new QRegExpValidator(regExp,this));