欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

#QT练习(一)

程序员文章站 2024-01-14 11:32:16
...

需求

一个打开按钮,点击该按钮后打开新窗口,并且该打开按钮变成关闭按钮,点击后关闭新窗口。

代码

widget.h文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void changeButton();
    void invalidButton();

private:
    QPushButton* openBtn;
    QPushButton* closeBtn;
    QWidget* new_Widget;
};
#endif // WIDGET_H

widget.cpp文件:

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建第一个打开按钮
    this->openBtn = new QPushButton("打开",this);

    //创建第二个窗口
    this->new_Widget = new QWidget;

    //重置窗口大小
    this->resize(600,400);
    new_Widget->resize(400,600);

    //重置窗口标题
    this->setWindowTitle("第一个窗口");
    new_Widget->setWindowTitle("第一个窗口");

    //连接第一个按钮,打开窗口
    connect(openBtn, &QPushButton::clicked, new_Widget, &Widget::show);

    //连接第一个按钮,打开按钮变成关闭按钮
    connect(openBtn, &QPushButton::clicked, this, &Widget::changeButton);

    //连接第一个按钮,使按钮失效
    connect(openBtn, &QPushButton::clicked, this, &Widget::invalidButton);
}

Widget::~Widget()
{

}

void Widget::changeButton()
{
    //打开按钮文本变成关闭按钮
    openBtn->setText("关闭");

    //连接第一个按钮,关闭窗口
    connect(openBtn, &QPushButton::clicked, new_Widget, &Widget::close);
}

void Widget::invalidButton()
{
    disconnect(openBtn, &QPushButton::clicked, new_Widget, &Widget::show);
}

运行结果

#QT练习(一)
点击“打开”后:打开新窗口
#QT练习(一)
再点击“关闭”:新窗口关闭
#QT练习(一)

相关标签: Qt入门学习 qt