在 Qt 中,要让一个控件隐藏,可以使用 QWidget 类的 hide() 方法。以下是一个简单的示例,展示如何隐藏一个按钮控件:
#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个主窗口
QWidget window;
window.setWindowTitle("隐藏控件示例");
// 创建一个按钮
QPushButton *button = new QPushButton("点击我隐藏", &window);
// 创建一个布局并将按钮添加到布局中
QVBoxLayout *layout = new QVBoxLayout(&window);
layout->addWidget(button);
// 设置窗口布局
window.setLayout(layout);
// 连接按钮的点击信号到隐藏槽
QObject::connect(button, &QPushButton::clicked, button, &QPushButton::hide);
// 显示窗口
window.show();
return app.exec();
}
在这个示例中,我们创建了一个 QPushButton 控件,并将其点击信号连接到 hide 槽。当用户点击按钮时,按钮将会隐藏。
关键点:
- 创建控件:例如
QPushButton。 - 连接信号与槽:使用
QObject::connect将按钮的点击信号连接到其hide方法。 - 显示窗口:调用
window.show()来显示主窗口。
注意事项:
hide()方法只会隐藏控件,但不会删除它。隐藏后的控件仍然存在于布局中,只是不可见。- 如果要重新显示控件,可以使用
show()方法。
例如,如果你想要在另一个按钮点击时重新显示隐藏的按钮,可以这样做:
#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个主窗口
QWidget window;
window.setWindowTitle("隐藏和显示控件示例");
// 创建两个按钮
QPushButton *button1 = new QPushButton("点击我隐藏", &window);
QPushButton *button2 = new QPushButton("点击我显示", &window);
// 创建一个布局并将按钮添加到布局中
QVBoxLayout *layout = new QVBoxLayout(&window);
layout->addWidget(button1);
layout->addWidget(button2);
// 设置窗口布局
window.setLayout(layout);
// 连接按钮的点击信号到对应的槽
QObject::connect(button1, &QPushButton::clicked, button1, &QPushButton::hide);
QObject::connect(button2, &QPushButton::clicked, button1, &QPushButton::show);
// 显示窗口
window.show();
return app.exec();
}
在这个示例中,我们添加了一个额外的按钮 button2,点击它会重新显示 button1。
4999

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



