QT添加button来控制QPainter绘制出的界面显隐性
时间: 2024-05-01 15:23:07 浏览: 71
您可以在Qt中使用QPushButton来控制QPainter绘制出的界面的显隐性。具体步骤如下:
1. 创建一个QWidget作为主窗口,将QPainter绘制的内容放置在这个QWidget中。
2. 在主窗口中添加QPushButton,用于控制QWidget的显示和隐藏。
3. 在QPushButton的clicked()信号中,通过QWidget的setVisible()函数来控制QWidget的显隐性。
下面是一个示例代码:
```
#include <QtWidgets>
class CustomWidget : public QWidget
{
public:
CustomWidget(QWidget *parent = nullptr) : QWidget(parent)
{
setFixedSize(200, 200);
}
protected:
void paintEvent(QPaintEvent *event) override
{
QPainter painter(this);
painter.setBrush(Qt::blue);
painter.drawRect(50, 50, 100, 100);
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget mainWidget;
mainWidget.setFixedSize(400, 400);
CustomWidget customWidget(&mainWidget);
customWidget.setGeometry(50, 50, 300, 300);
QPushButton button("Toggle Widget", &mainWidget);
button.setGeometry(150, 350, 100, 30);
connect(&button, &QPushButton::clicked, [&customWidget]() {
customWidget.setVisible(!customWidget.isVisible());
});
mainWidget.show();
return app.exec();
}
```
该示例代码创建了一个名为CustomWidget的QWidget,用于绘制一个蓝色的矩形。在主窗口中添加了一个QPushButton,用于控制CustomWidget的显隐性。点击QPushButton后,CustomWidget将在显示和隐藏之间切换。
阅读全文