C++ QT入門練習
阿新 • • 發佈:2018-11-25
視窗類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();
}