00. 目录


文章目录


00. 目录01. 概述02. Reimplemented Public Functions03. Public Slots04. Signals05. Static Public Members06. Protected Functions07. Reimplemented Protected Functions08. Protected Slots09. Macros10. 函数11. 附录


01. 概述

QWidget类是所有用户界面对象的基类。

02. Reimplemented Public Functions

virtual QPaintEngine *paintEngine() const override

03. Public Slots

bool close()
void hide()
void lower()
void raise()
void repaint()
void setDisabled(bool disable)
void setEnabled(bool)
void setFocus()
void setHidden(bool hidden)
void setStyleSheet(const QString &styleSheet)
virtual void setVisible(bool visible)
void setWindowModified(bool)
void setWindowTitle(const QString &)
void show()
void showFullScreen()
void showMaximized()
void showMinimized()
void showNormal()
void update()

04. Signals

void customContextMenuRequested(const QPoint &pos)
void windowIconChanged(const QIcon &icon)
void windowTitleChanged(const QString &title)

05. Static Public Members

QWidget *createWindowContainer(QWindow *window, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
QWidget *find(WId id)
QWidget *keyboardGrabber()
QWidget *mouseGrabber()
void setTabOrder(QWidget *first, QWidget *second)

06. Protected Functions

virtual void actionEvent(QActionEvent *event)
virtual void changeEvent(QEvent *event)
virtual void closeEvent(QCloseEvent *event)
virtual void contextMenuEvent(QContextMenuEvent *event)
void create(WId window = 0, bool initializeWindow = true, bool destroyOldWindow = true)
void destroy(bool destroyWindow = true, bool destroySubWindows = true)
virtual void dragEnterEvent(QDragEnterEvent *event)
virtual void dragLeaveEvent(QDragLeaveEvent *event)
virtual void dragMoveEvent(QDragMoveEvent *event)
virtual void dropEvent(QDropEvent *event)
virtual void enterEvent(QEvent *event)
virtual void focusInEvent(QFocusEvent *event)
bool focusNextChild()
virtual bool focusNextPrevChild(bool next)
virtual void focusOutEvent(QFocusEvent *event)
bool focusPreviousChild()
virtual void hideEvent(QHideEvent *event)
virtual void inputMethodEvent(QInputMethodEvent *event)
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void leaveEvent(QEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
virtual void moveEvent(QMoveEvent *event)
virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result)
virtual void paintEvent(QPaintEvent *event)
virtual void resizeEvent(QResizeEvent *event)
virtual void showEvent(QShowEvent *event)
virtual void tabletEvent(QTabletEvent *event)
virtual void wheelEvent(QWheelEvent *event)

07. Reimplemented Protected Functions

virtual bool event(QEvent *event) override
virtual void initPainter(QPainter *painter) const override
virtual int metric(QPaintDevice::PaintDeviceMetric m) const override

08. Protected Slots

void updateMicroFocus()

09. Macros

QWIDGETSIZE_MAX

10. 函数

QWidget::QWidget(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
构造函数 父控件为parent,标志有f指定。
如果parent是nullptr,则新窗口Widget将成为一个窗口。如果parent是另一个Widget,则此Widget将成为parent内的子窗口。删除其父项时,将删除新的窗口Widget。
Widget标志参数f通常为0,但可以将其设置为自定义窗口的框架(即父级必须为nullptr)。要自定义框架,请使用由任何窗口标志的按位“或”组成的值。
如果将子窗口Widget添加到已经可见的窗口Widget,则必须显式显示该子窗口以使其可见。
请注意,Qt的X11版本可能无法在所有系统上提供样式标志的所有组合。这是因为在X11上,Qt只能询问窗口管理器,并且窗口管理器可以覆盖应用程序的设置。在Windows上,Qt可以设置所需的任何标志。

[slot] bool QWidget::close()
关闭此Widget。返回true如果Widget被关闭;否则返回false。

首先,它向Widget发送QCloseEvent。如果Widget接受关闭事件,则将其隐藏。如果它忽略该事件,则什么也不会发生。QWidget :: closeEvent()的默认实现接受close事件。

如果该窗口Widget具有Qt :: WA_DeleteOnClose标志,则该窗口Widget也将被删除。无论窗口Widget是否可见,关闭事件都会传递到窗口Widget。

所述的QApplication :: lastWindowClosed当最后可见主窗口(即没有父窗口)与()信号被发射的Qt :: WA_QuitOnClose属性组是封闭的。默认情况下,将为除瞬态窗口(例如初始屏幕,工具窗口和弹出菜单)之外的所有窗口Widget设置此属性。

[signal] void QWidget::customContextMenuRequested(const QPoint &pos)
当窗口小部件的contextMenuPolicy为Qt :: CustomContextMenu且用户已请求窗口小部件上的上下文菜单时,将发出此信号。位置pos是窗口小部件接收的上下文菜单事件的位置。通常,这是在小部件坐标中。此规则的例外是QAbstractScrollArea及其子类,这些子类将上下文菜单事件映射到viewport()的坐标。

[slot] void QWidget::hide()
隐藏Widget。此函数等效于setVisible(false)。
注意:如果您正在使用QDialog或其子类,并且在此函数之后调用show()函数,则对话框将以其原始位置显示。

[slot] void QWidget::lower()
将Widget降低到父Widget堆栈的底部。

在此调用之后,小部件将在视觉上位于任何重叠的同级小部件之后(并因此而被其遮盖)。

[slot] void QWidget::raise()
将此小部件提升到父小部件堆栈的顶部。
在此调用之后,该小部件将在视觉上位于任何重叠的同级小部件之前。

[slot] void QWidget::repaint()
除非立即禁用更新或隐藏小部件,否则立即通过调用paintEvent()直接重绘小部件。

[slot] void QWidget::setDisabled(bool disable)
如果disable为true,则禁用窗口小部件输入事件;否则,禁用窗口小部件输入事件。否则启用输入事件。

[slot] void QWidget::setFocus()
如果此窗口小部件或其父级之一是活动窗口,则将键盘输入焦点赋予该窗口小部件(或其焦点代理)。

[slot] void QWidget::setHidden(bool hidden)
便利功能,等效于setVisible(!hidden)。

[slot] void QWidget::show()
显示窗口小部件及其子窗口小部件。

[slot] void QWidget::showFullScreen()
以全屏模式显示小部件。
调用此函数仅影响Windows。
要从全屏模式返回,请调用showNormal()。

[slot] void QWidget::showMaximized()
显示最大化的小部件。

调用此函数仅影响Windows。

[slot] void QWidget::showMinimized()
将最小化的小部件显示为图标。

调用此函数仅影响Windows。

[slot] void QWidget::showNormal()
在最大化或最小化窗口小部件后对其进行还原。

[slot] void QWidget::update()
除非禁用更新或隐藏小部件,否则更新小部件。

[protected slot] void QWidget::updateMicroFocus()
更新小部件的微焦点。

[signal] void QWidget::windowIconChanged(const QIcon &icon)
当窗口的图标更改时,以新图标作为参数,将发出此信号。

[signal] void QWidget::windowTitleChanged(const QString &title)
当窗口的标题更改时,以新标题作为参数,将发出此信号。

[virtual] QWidget::~QWidget()
析构函数

[virtual protected] void QWidget::actionEvent(QActionEvent *event)
每当更改窗口小部件的动作时,都会使用给定事件调用此事件处理程序。

QList<QAction *> QWidget::actions() const
返回此小部件操作的列表(可能为空)。

void QWidget::activateWindow()
将包含此窗口小部件的顶层窗口小部件设置为活动窗口。

void QWidget::addAction(QAction *action)
将操作操作追加到此小部件的操作列表中。


void QWidget::addActions(QList<QAction *> actions)
将操作actions追加到此小部件的操作列表中。

void QWidget::adjustSize()
调整窗口小部件的大小以适合其内容。

QPalette::ColorRole QWidget::backgroundRole() const
返回窗口小部件的背景角色。

QBackingStore *QWidget::backingStore() const
背景角色从小部件的调色板中定义用于渲染背景的笔刷。

[virtual protected] void QWidget::changeEvent(QEvent *event)
可以重新实现此事件处理程序以处理状态更改。

QWidget *QWidget::childAt(int x, int y) const
返回小部件坐标系统中位置(x,y)的可见子小部件。如果在指定位置没有可见的子窗口小部件,则该函数返回nullptr。

QWidget *QWidget::childAt(const QPoint &p) const
返回窗口小部件自身坐标系统中p点处的可见子窗口小部件。

void QWidget::clearFocus()
从小部件获取键盘输入焦点。

void QWidget::clearMask()
删除所有有setMask设置的Mask。

[virtual protected] void QWidget::closeEvent(QCloseEvent *event)
当Qt从窗口系统收到对顶级窗口小部件的窗口关闭请求时,将使用给定事件调用此事件处理程序。
void MainWindow::closeEvent(QCloseEvent *event)
{
if (maybeSave()) {
writeSettings();
event->accept();
} else {
event->ignore();
}
}


QMargins QWidget::contentsMargins() const
contentMargins函数返回小部件的内容边距。

QRect QWidget::contentsRect() const
返回窗口小部件内的区域。

[virtual protected] void QWidget::contextMenuEvent(QContextMenuEvent *event)
可以在子类中重新实现此事件处理程序(用于event event),以接收小部件上下文菜单事件。

[protected] void QWidget::create(WId window = 0, bool initializeWindow = true, bool destroyOldWindow = true)
创建一个新的窗口小部件窗口。

[static] QWidget *QWidget::createWindowContainer(QWindow *window, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
创建一个QWidget,可以将窗口嵌入到基于QWidget的应用程序中。

[protected] void QWidget::destroy(bool destroyWindow = true, bool destroySubWindows = true)
释放窗口系统资源。如果destroyWindow为true,则销毁窗口小部件窗口。

[virtual protected] void QWidget::dragEnterEvent(QDragEnterEvent *event)
当拖动正在进行中并且鼠标进入该小部件时,将调用此事件处理程序。该事件在event参数中传递。

[virtual protected] void QWidget::dragLeaveEvent(QDragLeaveEvent *event)
当拖动正在进行中并且鼠标离开该小部件时,将调用此事件处理程序。该事件在event参数中传递。


[virtual protected] void QWidget::dragMoveEvent(QDragMoveEvent *event)
如果正在进行拖动,并且发生以下任何一种情况,则将调用此事件处理程序:光标进入此窗口小部件,光标在该窗口小部件内移动,或者在此窗口小部件获得焦点时按下键盘上的修改键。该事件在event参数中传递。


[virtual protected] void QWidget::dropEvent(QDropEvent *event)
当将拖动拖放到此小部件上时,将调用此事件处理程序。该事件在event参数中传递。


WId QWidget::effectiveWinId() const
返回窗口小部件的有效窗口系统标识符,即本机父级的窗口系统标识符。

void QWidget::ensurePolished() const
确保小部件及其子级已被QStyle抛光(即具有正确的字体和调色板)。

[virtual protected] void QWidget::enterEvent(QEvent *event)
可以在子类中重新实现此事件处理程序,以接收在事件参数中传递的小部件输入事件。

[override virtual protected] bool QWidget::event(QEvent *event)
这是主事件处理程序;它处理事件event。您可以在子类中重新实现此功能,但是我们建议改用一种专用的事件处理程序。

[static] QWidget *QWidget::find(WId id)
返回指向带有窗口标识符/句柄id的窗口小部件的指针。

[virtual protected] void QWidget::focusInEvent(QFocusEvent *event)
可以在子类中重新实现此事件处理程序,以接收小部件的键盘焦点事件(接收到焦点)。该事件在event参数中传递

[protected] bool QWidget::focusNextChild()
查找一个新的窗口小部件,以使其适合于Tab键盘焦点,true如果可以找到新的窗口小部件,则返回,否则返回false。

[virtual protected] bool QWidget::focusNextPrevChild(bool next)
根据Tab和Shift + Tab键,true找到一个使键盘焦点对准的新窗口小部件,如果可以找到一个新窗口小部件,则返回,否则返回false。


[virtual protected] void QWidget::focusOutEvent(QFocusEvent *event)
可以在子类中重新实现此事件处理程序,以接收小部件的键盘焦点事件(焦点丢失)。事件在event参数中传递。


[protected] bool QWidget::focusPreviousChild()
根据Shift + Tab键,找到一个使键盘焦点对准true的新窗口小部件,如果可以找到一个新窗口小部件,则返回,否则返回false。


QWidget *QWidget::focusProxy() const
返回焦点代理,nullptr如果没有焦点代理,则返回。

QWidget *QWidget::focusWidget() const
返回已调用setFocus的此小部件的最后一个子级。对于顶级窗口小部件,此窗口小部件将在激活此窗口的情况下获得焦点

QFontInfo QWidget::fontInfo() const
返回小部件当前字体的字体信息。等同于QFontInfo(widget->font())。

QFontMetrics QWidget::fontMetrics() const
返回小部件当前字体的字体指标。等同于QFontMetrics(widget->font())。

QPalette::ColorRole QWidget::foregroundRole() const
返回前台角色。

QPixmap QWidget::grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1)))
将窗口小部件渲染为受给定矩形限制的像素图。如果小部件有任何子代,则它们也将被绘制在适当的位置。

void QWidget::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags = Qt::GestureFlags())
用特定标志将小部件订阅给定手势。

void QWidget::grabKeyboard()
抓取键盘输入。

void QWidget::grabMouse()
抓住鼠标输入。

void QWidget::grabMouse(const QCursor &cursor)
抓住鼠标输入并更改光标形状。


int QWidget::grabShortcut(const QKeySequence &key, Qt::ShortcutContext context = Qt::WindowShortcut)
在Qt的快捷方式系统中添加一个快捷方式,该快捷方式在给定的上下文中监视给定的键序列。如果上下文是Qt :: ApplicationShortcut,则快捷方式将应用于整个应用程序。否则,它不是此窗口小部件Qt :: WidgetShortcut的本地窗口,还是该窗口本身的Qt :: WindowShortcut的本地窗口。

QGraphicsEffect *QWidget::graphicsEffect() const
graphicsEffect函数返回指向小部件的图形效果的指针。

QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const
返回图形视图中相应嵌入式窗口小部件的代理窗口小部件;否则返回nullptr。


bool QWidget::hasEditFocus() const
返回true此窗口小部件当前是否具有编辑焦点;否则为假。

[virtual] bool QWidget::hasHeightForWidth() const
true如果小部件的首选高度取决于其宽度,则返回;否则返回false。否则返回false。


[virtual] int QWidget::heightForWidth(int w) const
给定宽度w,返回此小部件的首选高度。

[virtual protected] void QWidget::hideEvent(QHideEvent *event)
可以在子类中重新实现此事件处理程序,以接收小部件隐藏事件。该事件在event参数中传递。

[override virtual protected] void QWidget::initPainter(QPainter *painter) const
将绘画笔,背景和字体初始化为与给定小部件相同的颜色。在QWidget上打开绘制器时,将自动调用此函数。

[virtual protected] void QWidget::inputMethodEvent(QInputMethodEvent *event)
可以在子类中重新实现此事件处理程序(用于event event),以接收Input Method组合事件。当输入方法的状态更改时,将调用此处理程序。


[virtual] QVariant QWidget::inputMethodQuery(Qt::InputMethodQuery query) const
此方法仅与输入窗口小部件有关。输入法使用它来查询窗口小部件的一组属性,以便能够支持复杂的输入法操作,以支持周围的文本和重新转换。

void QWidget::insertAction(QAction *before, QAction *action)
插入动作的动作,以行动这个小部件的列表,在行动之前之前。如果before是nullptr或before不是此小部件的有效操作,它将追加操作。

void QWidget::insertActions(QAction *before, QList<QAction *> actions)
在之前的动作之前,将动作动作插入到此小部件的动作列表中。如果before是或before不是此小部件的有效操作,它将追加操作。nullptr

bool QWidget::isAncestorOf(const QWidget *child) const
返回true如果这个小部件是父母(或祖父母等任何级别),给定的孩子,和两个小部件都是在同一窗口; 否则返回false。

bool QWidget::isEnabledTo(const QWidget *ancestor) const
true如果启用了祖先,则返回此小部件是否将被启用;否则返回false。

bool QWidget::isHidden() const
返回true如果控件是隐藏的,否则返回false。

bool QWidget::isVisibleTo(const QWidget *ancestor) const
返回:true如果显示祖先,则此小部件是否将变为可见;否则返回false。

bool QWidget::isWindow() const
返回true如果控件是一个独立的窗口,否则返回false。

[virtual protected] void QWidget::keyPressEvent(QKeyEvent *event)
可以在子类中重新实现此事件处理程序(用于event event),以接收小部件的按键事件。

[virtual protected] void QWidget::keyReleaseEvent(QKeyEvent *event)
可以在子类中重新实现此事件处理程序(用于event event),以接收小部件的关键释放事件。

[static] QWidget *QWidget::keyboardGrabber()
返回当前正在获取键盘输入的小部件。

QLayout *QWidget::layout() const
返回安装在此窗口小部件上的布局管理器,或者返回未安装的nullptr布局管理器。


[virtual protected] void QWidget::leaveEvent(QEvent *event)
可以在子类中重新实现此事件处理程序,以接收在event参数中传递的小部件离开事件。

QPoint QWidget::mapFrom(const QWidget *parent, const QPoint &pos) const
将小部件坐标pos从父级坐标系转换为该小部件的坐标系。该家长切不可nullptr且必须调用控件的父。

QPoint QWidget::mapFromGlobal(const QPoint &pos) const
将全局屏幕坐标pos转换为小部件坐标。

QPoint QWidget::mapFromParent(const QPoint &pos) const
将父窗口小部件坐标pos转换为窗口小部件坐标。

QPoint QWidget::mapTo(const QWidget *parent, const QPoint &pos) const
将小部件坐标pos转换为parent的坐标系。该家长切不可nullptr且必须调用控件的父。

QPoint QWidget::mapToGlobal(const QPoint &pos) const
将小部件坐标pos转换为全局屏幕坐标。例如,mapToGlobal(QPoint(0,0))将给出小部件的左上像素的全局坐标。


QPoint QWidget::mapToParent(const QPoint &pos) const
将小部件坐标pos转换为父小部件中的坐标。


QRegion QWidget::mask() const
返回当前在窗口小部件上设置的蒙版。如果未设置任何掩码,则返回值将为空白区域。

[override virtual protected] int QWidget::metric(QPaintDevice::PaintDeviceMetric m) const
重新实现:QPaintDevice :: metric(QPaintDevice :: PaintDeviceMetric指标)常量。

[virtual protected] void QWidget::mouseDoubleClickEvent(QMouseEvent *event)
可以在子类中重新实现该事件处理程序(用于event event),以接收该小部件的鼠标双击事件。


[static] QWidget *QWidget::mouseGrabber()
返回当前正在捕获鼠标输入的小部件。

[virtual protected] void QWidget::mouseMoveEvent(QMouseEvent *event)
可以在子类中重新实现该事件处理程序(用于event event),以接收该小部件的鼠标移动事件。

[virtual protected] void QWidget::mousePressEvent(QMouseEvent *event)
可以在子类中重新实现此事件处理程序(用于event event),以接收小部件的鼠标按下事件。

[virtual protected] void QWidget::mouseReleaseEvent(QMouseEvent *event)
可以在子类中重新实现该事件处理程序(用于event event),以接收该小部件的鼠标释放事件。


void QWidget::move(int x, int y)

[virtual protected] void QWidget::moveEvent(QMoveEvent *event)
可以在子类中重新实现此事件处理程序,以接收在event参数中传递的小部件移动事件。当窗口小部件接收到此事件时,它已经处于新位置。


[virtual protected] bool QWidget::nativeEvent(const QByteArray &eventType, void *message, long *result)
可以在子类中重新实现此特殊事件处理程序,以接收由eventType标识的本机平台事件,这些事件在message参数中传递。

QWidget *QWidget::nativeParentWidget() const
返回此窗口小部件的本机父级,即具有系统标识符或下一个没有系统父级的下一个祖先窗口小部件nullptr。

QWidget *QWidget::nextInFocusChain() const
返回此小部件的焦点链中的下一个小部件。

void QWidget::overrideWindowFlags(Qt::WindowFlags flags)
将窗口小部件的窗口标志设置为flags,而无需告知窗口系统。

[override virtual] QPaintEngine *QWidget::paintEngine() const
返回小部件的绘制引擎。

[virtual protected] void QWidget::paintEvent(QPaintEvent *event)
可以在子类中重新实现此事件处理程序,以接收在event中传递的绘画事件。

QWidget *QWidget::parentWidget() const
返回此窗口小部件的父级,或者nullptr如果它没有任何父窗口小部件,则返回。

QWidget *QWidget::previousInFocusChain() const
previousInFocusChain函数返回此小部件的焦点链中的上一个小部件。


void QWidget::releaseKeyboard()
释放键盘。


void QWidget::releaseMouse()
释放鼠标

void QWidget::releaseShortcut(int id)
从Qt的快捷方式系统中删除具有给定ID的快捷方式。该小部件将不再接收该快捷方式的键序列的QEvent :: Shortcut事件(除非它具有具有相同键序列的其他快捷方式)。

void QWidget::removeAction(QAction *action)
从此小部件的动作列表中删除动作动作。

void QWidget::repaint(int x, int y, int w, int h)
在小部件内重新绘制了一个矩形(x,y,w,h)。

void QWidget::repaint(const QRect &rect)
重新绘制了小部件内部的矩形rect。

void QWidget::repaint(const QRegion &rgn)


void QWidget::resize(int w, int h)
对应于resize(QSize(w,h))。

[virtual protected] void QWidget::resizeEvent(QResizeEvent *event)


bool QWidget::restoreGeometry(const QByteArray &geometry)
恢复存储在字节数组geometry中的顶级窗口小部件的几何形状和状态。true成功回报;否则返回false。


QByteArray QWidget::saveGeometry() const
保存顶级小部件的当前几何图形和状态。

QScreen *QWidget::screen() const
返回窗口小部件所在的屏幕。

void QWidget::scroll(int dx, int dy)
将小部件及其子dx像素向右滚动,并dy向下滚动。这两个DX和DY可能是负的。

void QWidget::scroll(int dx, int dy, const QRect &r)

void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
如果on为true,则在此小部件上设置attribute属性;否则为false。否则清除属性。

void QWidget::setBackgroundRole(QPalette::ColorRole role)
将窗口小部件的后台角色设置为role。

void QWidget::setBaseSize(int basew, int baseh)
这对应于setBaseSize(QSize(basew,baseh))。将小部件的基本大小设置为width basew和height baseh。

void QWidget::setContentsMargins(int left, int top, int right, int bottom)
将窗口小部件内容周围的边距设置为left,top,right和bottom。边距由布局系统使用,并且可由子类用于指定要绘制的区域(例如,不包括框架)。

void QWidget::setContentsMargins(const QMargins &margins)
setContentsMargins函数设置小部件内容周围的边距。

void QWidget::setEditFocus(bool enable)

void QWidget::setFixedHeight(int h)
在不更改宽度的情况下,将小部件的最小和最大高度都设置为h。提供方便。

void QWidget::setFixedSize(const QSize &s)
窗口小部件的最小和最大大小都设置为s,从而防止窗口小部件增大或缩小。

void QWidget::setFixedSize(int w, int h)


void QWidget::setFixedWidth(int w)
将窗口小部件的最小和最大宽度都设置为w而不更改高度。提供方便。

void QWidget::setFocus(Qt::FocusReason reason)
如果此窗口小部件或其父级之一是活动窗口,则将键盘输入焦点赋予该窗口小部件(或其焦点代理)。该理由参数将被传递给这个函数发送的任何焦点事件,它是用来给的是什么引起的小部件获得焦点的解释。如果该窗口不处于活动状态,则当该窗口变为活动状态时,将为小部件提供焦点。


void QWidget::setFocusProxy(QWidget *w)
将窗口小部件的焦点代理设置为窗口小部件w。如果w是nullptr,则函数会将此窗口小部件重置为没有焦点代理。

void QWidget::setForegroundRole(QPalette::ColorRole role)
将小部件的前台角色设置为role。

void QWidget::setGeometry(int x, int y, int w, int h)

void QWidget::setGraphicsEffect(QGraphicsEffect *effect)
setGraphicsEffect函数用于设置小部件的图形效果。

void QWidget::setLayout(QLayout *layout)
将此窗口小部件的布局管理器设置为layout。

void QWidget::setMask(const QBitmap &bitmap)
仅使小部件的位图具有对应的1位的像素可见。如果该区域包括小部件的rect()外部的像素,则取决于平台,该区域中的窗口系统控件可能可见,也可能不可见。

void QWidget::setMask(const QRegion &region)

void QWidget::setMaximumSize(int maxw, int maxh)
void QWidget::setMinimumSize(int minw, int minh)

void QWidget::setParent(QWidget *parent)
将窗口小部件的父级设置为parent,并重置窗口标志。小部件将移动到其新父级的位置(0,0)。

void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)



void QWidget::setShortcutAutoRepeat(int id, bool enable = true)
如果enable为true,则启用具有给定id的自动重复快捷方式;否则禁用。


void QWidget::setShortcutEnabled(int id, bool enable = true)
如果enable为true,则启用具有给定id的快捷方式;否则为false 。否则,快捷方式将被禁用。

void QWidget::setSizeIncrement(int w, int h)
void QWidget::setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
void QWidget::setStyle(QStyle *style)
将窗口小部件的GUI样式设置为style。样式对象的所有权不会转移。


[static] void QWidget::setTabOrder(QWidget *first, QWidget *second)
放第二后插件第一在聚焦顺序部件。

void QWidget::setWindowFlag(Qt::WindowType flag, bool on = true)
如果on为true,则在此小部件上设置窗口标志标志;否则为false。否则清除标志。

void QWidget::setWindowRole(const QString &role)
将窗口的角色设置为role。这仅对X11上的Windows有意义。

void QWidget::setWindowState(Qt::WindowStates windowState)
将窗口状态设置为windowState。窗口状态是Qt :: WindowState:Qt :: WindowMinimized,Qt :: WindowMaximized,Qt :: WindowFullScreen和Qt :: WindowActive的OR组合。


void QWidget::setupUi(QWidget *widget)
设置指定窗口小部件的用户界面。


[virtual protected] void QWidget::showEvent(QShowEvent *event)
可以在子类中重新实现此事件处理程序,以接收在事件参数中传递的窗口小部件显示事件。

void QWidget::stackUnder(QWidget *w)
将小部件放置在父小部件堆栈中的w下。

QStyle *QWidget::style() const


[virtual protected] void QWidget::tabletEvent(QTabletEvent *event)

bool QWidget::underMouse() const
返回true小部件是否在鼠标光标下;否则返回false。


void QWidget::ungrabGesture(Qt::GestureType gesture)
从给定的手势类型退订窗口小部件

void QWidget::update(int x, int y, int w, int h)
void QWidget::update(const QRegion &rgn)

void QWidget::updateGeometry()
通知布局系统此窗口小部件已更改,并且可能需要更改几何形状。


QRegion QWidget::visibleRegion() const
返回可以发生绘制事件的未遮挡区域。


[virtual protected] void QWidget::wheelEvent(QWheelEvent *event)
可以在子类中重新实现该事件处理程序(用于event event),以接收该小部件的转轮事件。

WId QWidget::winId() const
返回窗口小部件的窗口系统标识符。

QWidget *QWidget::window() const
返回此窗口小部件的窗口,即具有(或可能具有)窗口系统框架的下一个祖先窗口小部件。

QWindow *QWidget::windowHandle() const
果这是本机窗口小部件,则返回关联的QWindow。否则返回null。

QString QWidget::windowRole() const
返回窗口的角色,或一个空字符串。

Qt::WindowStates QWidget::windowState() const
返回当前窗口状态。窗口状态是Qt :: WindowState:Qt :: WindowMinimized,Qt :: WindowMaximized,Qt :: WindowFullScreen和Qt :: WindowActive的OR组合。


Qt::WindowType QWidget::windowType() const
返回此窗口小部件的窗口类型。这与windowFlags()和Qt :: WindowType_Mask相同。

11. 附录

11.1 Qt教程汇总