一、概述
QWidget是容器组件,继承自QObject类和QPaintDevice类。能够绘制自己和处理用户输入,是QT中所有窗口组件类的父类,是所有窗口组件的抽象,每个窗口组件都是一个QWidget,QWidget类对象常用作父组件或*组件使用。
二、重要方法
-
QWidget(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()):构造函数,创建一个新的窗口部件。
- setWindowTitle(const QString &title):设置窗口的标题。
- setGeometry(int x, int y, int width, int height):设置窗口的位置和大小。
- resize(int width, int height):调整窗口的大小。
- show():显示窗口。
- hide():隐藏窗口。
- isVisible():检查窗口是否可见。
- setLayout(QLayout *layout):设置控件的布局管理器。
- layout():返回当前的布局管理器。
- addWidget(QWidget *widget):在布局中添加一个控件(适用于布局类)。
- paintEvent(QPaintEvent *event):重写此方法以实现自定义绘制。
-
update():请求重绘窗口,触发
paintEvent()
。
- setStyleSheet(const QString &style):应用样式表,改变控件的外观。
- setEnabled(bool enabled):启用或禁用控件。
- setVisible(bool visible):设置控件的可见性。
- destroyed(QObject *obj):这是一个信号,在控件被销毁时发射。
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
window.setWindowTitle("QWidget Example");
window.resize(400, 300);
QVBoxLayout *layout = new QVBoxLayout;
QPushButton *button1 = new QPushButton("Button 1");
QPushButton *button2 = new QPushButton("Button 2");
layout->addWidget(button1);
layout->addWidget(button2);
window.setLayout(layout);
window.show();
return app.exec();
}
觉得有帮助的话,打赏一下呗。。