Qt常用操作函数

前言

罗列自己用到的一些Qt操作函数

一、窗口操作

1、设置最小/最大窗口大小

setMinimumSize(300, 300);       // 设置最小窗口大小
setMaximumSize(300, 300);       // 设置最大窗口大小

2、设置控件基于当前窗口的位置x y和控件大小 w h

ui->treeWidget->setGeometry(20,20,250,250);     // 设置控件基于当前窗口的位置x y和控件大小 w h

3、窗口类型设置枚举

QWidget * widget = new QWidget();
Qt::WindowFlags flags = Qt::Dialog;
widget->setWindowFlags(flags);
widget->show();
属性说明
Qt::Widget0x00000000QWidget构造函数的默认值,如果新窗口没有父窗口部件,则它是一个独立窗口,否则就是一个子窗口部件
Qt::Window0x00000001无论是否有父窗口部件,新窗口都是一个窗口,有边框有标题栏
Qt::Dialog0x00000002丨Window新窗口部件是一个对话框,是QDialog构造函数的默认值
Qt::Sheet0x00000004丨Windo新窗口部件是一个Macintosh表单(sheet)
Qt::DrawerSheet丨Dialog新窗口部件是一个Macintosh抽屉(drawer)
Qt::Popup0x00000008丨Window新窗口部件是一个弹出式顶层窗口
Qt::ToolPopup丨Dialog新窗口部件是一个工具窗口,通常是一个用于显示工具按钮的小窗口。如果一个工具窗口有父窗口部件,则它将显示在父窗口部件的上面,否则,相当于使用了提示框
Qt::ToolTipPopup丨Sheet新窗口部件是一个提示窗口,没有标题栏和窗口边框
Qt::SplashScreenToolTip丨Dialog新窗口部件是一个欢迎窗口,是QSplashScreen构造函数的默认值
Qt::Desktop0x00000010丨Window新窗口部件是桌面,它是QDesktopWidget构造函的默认值
Qt::SubWindow0x00000012新窗口部件是一个子窗口,无论该窗口部件是否有父窗口
Qt::ForeignWindow0x00000020丨Window
Qt::CoverWindow0x00000040丨Window
Qt::MSWindowsFixedSizeDialogHint0x00000100为Windows系统上的窗口装饰一个窄的对话框边框,一般这个提示用于固定大小的对话框
Qt::MSWindowsOwnDC0x00000200为Windows系统上的窗口添加自身的显示上下文菜单
Qt::BypassWindowManagerHint0x00000400
Qt::X11BypassWindowManagerHintBypassWindowManagerHint完全忽视窗口管理器,产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow()函数)
Qt::FramelessWindowHint0x00000800产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变其大小
Qt::NoDropShadowWindowHint0x40000000
Qt::CustomizeWindowHint0x02000000关闭默认的窗口标题提示
Qt::WindowTitleHint0x00001000为窗口装饰一个标题栏
Qt::WindowSystemMenuHint0x00002000为窗口添加一个窗口系统菜单,并尽可能的添加一个关闭按钮
Qt::WindowMinimizeButtonHint0x00004000为窗口添加一个“最小化”按钮
Qt::WindowMaximizeButtonHint0x00008000为窗口添加一个“最大化”按钮
Qt::WindowMinMaxButtonsHintWindowMinimizeButtonHint丨WindowMaximizeButtonHint为窗口添加一个“最小化”和“最大化”按钮
Qt::WindowCloseButtonHint0x08000000为窗口添加一个“关闭”按钮
Qt::WindowContextHelpButtonHint0x00010000为窗口添加一个“上下文帮助”按钮
Qt::WindowType_Mask0x000000ff一个用于提取窗口标识中的窗口类型部分的掩码

4、设置主窗口标题栏文字

// 设置主窗口的标题栏文字
setWindowTitle("DockWindows");

5、添加控件到窗口中

// 在窗口中添加一个QTextEdit对象
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));
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值