成员函数

QWidget是Qt中最基本的组件,它是所有Qt窗口和控件的基类。QWidget的子类可以被用来创建包括窗口、对话框、按钮、标签等在内的任何用户界面组件。QWidget提供了很多成员函数来帮助我们管理QWidget的外观和行为。下面我们将更加详细地介绍QWidget的一些常用成员函数。


show()和hide()

show()函数用于显示QWidget对象,hide()函数用于隐藏QWidget对象。

QWidget *widget = new QWidget();
widget->show();  // 显示QWidget对象
widget->hide();  // 隐藏QWidget对象

resize()和move()

resize()函数用于设置QWidget对象的大小,move()函数用于设置QWidget对象的位置。

QWidget *widget = new QWidget();
widget->resize(300, 200);  // 设置QWidget对象的大小为300x200
widget->move(100, 100);   // 设置QWidget对象的位置为(100, 100)


setWindowTitle()和windowTitle()

setWindowTitle()用于设置QWidget的标题栏文本,而windowTitle()用于获取当前QWidget的标题栏文本。下面是一个示例:

QWidget *widget = new QWidget();
widget->setWindowTitle("My Window");
QString title = widget->windowTitle();  // title = "My Window"


setGeometry()、pos()和size()

setGeometry()用于设置QWidget的位置和大小,pos()用于获取QWidget的位置,而size()用于获取QWidget的大小。下面是一个示例:

QWidget *widget = new QWidget();
widget->setGeometry(100, 100, 200, 200);  // 设置位置和大小
QPoint pos = widget->pos();  // pos = QPoint(100, 100)
QSize size = widget->size();  // size = QSize(200, 200)


setFixedSize()

setFixedSize()用于设置QWidget的固定大小。一旦设置了固定大小,用户无法手动调整QWidget的大小。下面是一个示例:

QWidget *widget = new QWidget();
widget->setFixedSize(200, 200);  // 设置固定大小为200x200


setLayout()和layout()

setLayout()用于设置QWidget的布局管理器,而layout()用于获取QWidget的当前布局管理器。下面是一个示例:

QWidget *widget = new QWidget();
QVBoxLayout *layout = new QVBoxLayout();
widget->setLayout(layout);  // 设置布局管理器
QLayout *currentLayout = widget->layout();  // 获取当前布局管理器


setVisible()、isHidden()和isVisible()

setVisible()用于显示或隐藏QWidget,isHidden()用于判断QWidget是否隐藏,而isVisible()用于判断QWidget是否可见。下面是一个示例:

QWidget *widget = new QWidget();
widget->setVisible(true);  // 显示QWidget
bool hidden = widget->isHidden();  // hidden = false
bool visible = widget->isVisible();  // visible = true
widget->setVisible(false);  // 隐藏QWidget
hidden = widget->isHidden();  // hidden = true
visible = widget->isVisible();  // visible = false


setStyleSheet()

setStyleSheet()用于设置QWidget的样式表,样式表是一种用于定义QWidget外观的CSS样式表语言。下面是一个示例:

QWidget *widget = new QWidget();
widget->setStyleSheet("background-color: blue; color: white;");


setEnabled()、isEnabled()和setDisabled()

setEnabled()用于启用或禁用QWidget,isEnabled()用于判断QWidget是否启用,而setDisabled()用于禁用QWidget。下面是一个示例:

QWidget *widget = new QWidget();
widget->setEnabled(true);  // 启用QWidget
bool enabled = widget->isEnabled();  // enabled = true
widget->setDisabled(true);  // 禁用QWidget
enabled = widget->isEnabled();  // enabled = false


setCursor()

setCursor()用于设置QWidget的鼠标指针形状,可以使用Qt中预定义的鼠标指针形状或自定义鼠标指针形状。下面是一个示例:

QWidget *widget = new QWidget();
widget->setCursor(Qt::PointingHandCursor);  // 设置鼠标指针形状为手形指针


setParent()和parent()

setParent()用于设置QWidget的父对象,而parent()用于获取QWidget的父对象。下面是一个示例:

QWidget *parent = new QWidget();
QWidget *child = new QWidget();
child->setParent(parent);  // 设置父对象


setFocusPolicy()和focusPolicy()

setFocusPolicy()用于设置QWidget的焦点策略,焦点策略定义了QWidget如何获得和丢失输入焦点。focusPolicy()用于获取QWidget的当前焦点策略。下面是一个示例:

QWidget *widget = new QWidget();
widget->setFocusPolicy(Qt::ClickFocus);  // 设置焦点策略为点击获得焦点
Qt::FocusPolicy focusPolicy = widget->focusPolicy();  // 获取当前焦点策略


update()和repaint()

update()用于请求QWidget进行重绘,repaint()用于立即重绘QWidget。下面是一个示例:

QWidget *widget = new QWidget();
widget->update();  // 请求重绘
widget->repaint();  // 立即重绘


setWindowFlags()和windowFlags()

setWindowFlags()用于设置QWidget的窗口标志,可以用来定义QWidget的窗口类型、窗口边框样式等。windowFlags()用于获取QWidget的当前窗口标志。下面是一个示例:

QWidget *widget = new QWidget();
widget->setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
Qt::WindowFlags flags = widget->windowFlags();  // 获取当前窗口标志


以上是QWidget的一些常用成员函数,通过这些成员函数,我们可以对QWidget进行一系列的操作,使得它可以适应不同的用户界面需求。