收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
+ [10. 函数](#10__138)
+ [11. 附录](#11__712)
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()
释放键盘。
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/74301b555d2ab4142206d9973e609f15.png)
![img](https://img-blog.csdnimg.cn/img_convert/25a7f47d32a02c7ce1d38f5d72561437.png)
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
父窗口小部件,则返回。
QWidget \*QWidget::previousInFocusChain() const
previousInFocusChain函数返回此小部件的焦点链中的上一个小部件。
void QWidget::releaseKeyboard()
释放键盘。
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
[外链图片转存中...(img-eKqYwkrU-1715797488016)]
[外链图片转存中...(img-IHkN32w1-1715797488017)]
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**