【1】Qt点击按钮“打开”,打开界面,点击按钮“关闭”,关闭界面

效果图:

/************************imageprocessqt5.h****************************/

#ifndef IMAGEPROCESSQT5_H
#define IMAGEPROCESSQT5_H
//这个文件就是用来定义与界面相关的类的
#include <QtWidgets/QMainWindow>
#include<QtWidgets>
#include "ui_imageprocessqt5.h"

#pragma execution_character_set("utf-8")//防止乱码问题
class ImageProcessQt5 : public QMainWindow
{
    Q_OBJECT            //Qt元对象系统的一些特征(它必须放在类定义的私有区)

public:
    ImageProcessQt5(QWidget *parent = 0);
    ~ImageProcessQt5();
private:
    /**
    这个是由.ui文件生成的类的构造函数,作用是对界面进行初始化
    它按照Qt设计器里设计的样子把窗体画出来,把Qt设计器里面定义的信号和槽建立起来。
    也可以说,setupUi是界面和写程序之间的桥梁。
    */
    Ui::ImageProcessQt5Class ui;

    QPushButton * button;   //创建一个按钮
    QWidget        * widget;    //子窗口

public slots:
    void newWidge();        //槽函数
};

#endif // IMAGEPROCESSQT5_H

/************************imageprocessqt5.cpp****************************/

include "imageprocessqt5.h"
#include <QDesktopWidget>        //提供对多头信息的屏幕的访问
#include<QDebug>

void ImageProcessQt5::newWidge()
{
    if (button->text() == "打开")
    {
        widget = new QWidget;
        widget->show();
        button->setText("关闭");
    }
    else if(button->text() == "关闭")
    {
        widget->close();
        button->setText("打开");
    }
}


ImageProcessQt5::ImageProcessQt5(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);   


    button = new QPushButton("打开",this);
    //QWidget * widget = new QWidget;
    //widget->show();
    //widget->close();
    
    connect(button, &QPushButton::clicked, this, &ImageProcessQt5::newWidge);


}

ImageProcessQt5::~ImageProcessQt5()
{
}



/***************************main.cpp**********************************/

/**
程序中需要完成的imageProcess类
*/
#include "imageprocessqt5.h"
/**
1)每一个使用Qt图形化应用程序都需要使用一个QApplication对象。
2)QApplication管理了各种各样的图形化应用程序的广泛资源、基本配置、控制流及事件处理等
*/
#include <QtWidgets/QApplication>   
#include<opencv.hpp>
using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);    //
    ImageProcessQt5 w;            //创建一个ImageProcessQt5对象,在整个类中完成各种功能
    w.show();                    //当创建一个窗口部件的时候,默认是不可见的,必须调用show()函数使它变为可见            
    return a.exec();            //进入消息循环,等待可能的输入进行响应    
}

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值