C++ QT入门练习

窗口类widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>


class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = 0);
    ~Widget();
    void mySlot();
private:
    QPushButton b1;
    QPushButton *b2;
    QPushButton b3;

    
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    b1.setParent(this);
    b1.setText("^_^");
    b1.move(100,100);
    b2 = new QPushButton(this);
    b2->setText("abc");
    connect(&b1, &QPushButton::pressed, this, &Widget::close);
    connect(b2,&QPushButton::released,this,&Widget::mySlot);
    connect(b2,&QPushButton::released,&b1,&QPushButton::hide);
    /* &b1 信号发出者,指针类型
     * &QPushButton::pressed, 处理的信号, &发送者的类名,信号名字
     * this:信号接受者
     * &Widget::close 槽函数,信号处理函数
     */

    setWindowTitle("BOSS");
    b3.setParent(this);
    b3.setText("goto");
    b3.move(50,50);


}

void Widget::mySlot()
{
    b2->setText("123");
}


Widget::~Widget()
{

}

主函数

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.setWindowTitle("Hello QT");
    w.show();
    return a.exec();
}

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/84311394
今日推荐