QWidget是Qt框架中的基础类,用于创建用户界面中的窗口和控件。它是所有可视化控件的基类,提供了丰富的属性和接口函数用于控制窗口的显示、布局、事件处理等功能。QWidget的常用接口可以分为几大类,下面将逐一介绍:
一、窗口管理
- show():显示控件或窗口。
- hide():隐藏控件或窗口。
- close():关闭窗口。如果控件是窗口,关闭操作也会触发closeEvent()。
- update():请求重绘控件,但不会立即执行。Qt将在适当的时机安排重绘。
- repaint():立即重绘控件,触发paintEvent。
- setGeometry(x, y, width, height):设置控件的位置和大小。
- resize(width, height):改变控件的大小。
- move(x, y):移动控件到指定位置。
- setWindowTitle(title):设置窗口标题。
- setWindowIcon(icon):设置窗口的图标。
- setFixedSize(width, height):设置控件的固定大小,防止用户调整大小。
- adjustSize():自动调整控件大小以适应其内容。
- raise_():将控件置于堆栈的顶部,使其在所有其他窗口上方。
- lower():将控件置于堆栈的底部。
- setVisible(bool visible):设置控件的可见性。
- isHidden():检查控件是否隐藏。
- isVisible():检查控件是否可见。
- setEnabled(bool enabled):启用或禁用控件。
- isDisabled():检查控件是否禁用。
- setFocus():为控件设置键盘焦点。
- clearFocus():移除键盘焦点。
- hasFocus():检查控件是否拥有键盘焦点。
- grabKeyboard():捕获键盘输入,所有键盘事件将由此控件处理。
- releaseKeyboard():释放键盘控制。
二、布局与位置
- layout():返回控件的布局管理器。
- setLayout():设置控件的布局管理器。
- geometry():获取控件的几何信息(位置和大小)。
- frameGeometry():返回窗口的框架几何位置,包含窗口的边框。
- pos():返回控件的全局位置(在父窗口或桌面中的位置)。
- x, y:返回控件的横、纵坐标。
- size():返回控件的当前大小。
- width():返回控件的宽度。
- height():返回控件的高度。
- minimumSize():返回控件的最小尺寸。
- maximumSize():返回控件的最大尺寸。
- setMinimumSize(size):设置控件的最小尺寸。
- setMaximumSize(size):设置控件的最大尺寸。
- rect():返回控件的有效绘制区域。
三、外观与样式
- styleSheet():返回控件的样式表,用于自定义控件的外观。
- setStyleSheet(styleSheet):设置控件的样式表。
- font():返回控件的字体。
- setFont(font):设置控件的字体。
- cursor():返回控件的光标。
- setCursor(cursor):设置控件的光标。
- windowTitle():返回窗口的标题。
- windowIcon():返回窗口的图标。
- palette():返回控件的调色板。
- setToolTip(text):为控件设置工具提示,当鼠标悬停时显示提示信息。
四、事件处理
QWidget提供了多种事件处理函数,用户可以通过重写这些函数来定制控件的行为:
- mousePressEvent(event):处理鼠标按下事件。
- mouseReleaseEvent(event):处理鼠标释放事件。
- mouseMoveEvent(event):处理鼠标移动事件。
- keyPressEvent(event):处理键盘按下事件。
- keyReleaseEvent(event):处理键盘释放事件。
- paintEvent(event):处理绘图事件,用户可以在这里自定义绘图。
- resizeEvent(event):处理窗口大小调整事件。
- closeEvent(event):处理窗口关闭事件。
五、其他
- parentWidget():获取当前窗口的父对象。
- setParent(parent):设置当前窗口的父对象。
- mapToGlobal(point):将控件的局部坐标转换为全局屏幕坐标。
- winId():获取窗口的ID。
- destroy(destroyWindow, destroySubWindows):销毁窗口及其子窗口。
这些接口函数使得QWidget在Qt框架中成为创建和管理图形用户界面元素的核心工具。开发者可以根据具体需求,通过重写事件处理函数和调整控件的属性来实现自定义的GUI控件和功能。
1416

被折叠的 条评论
为什么被折叠?



