主函数 main.cpp#include <QApplication>#include "mywidget.h"#include <QPushButton>int main(int argc, char **argv){ QApplication app(argc, argv); MyWidget w, w1; //自定义构造后创建窗口 w.show(); w1.show(); w1.setWindowTitle("w1"); return app.exec();}头文件 mywidget.h#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>class MyWidget : public QWidget{ Q_OBJECTpublic: explicit MyWidget(QWidget *parent = 0);signals:public slots:};#endif // MYWIDGET_H
mywidget.cpp
#include "mywidget.h"#include <QPushButton>MyWidget::MyWidget(QWidget *parent) : QWidget(parent)//这是构造函数的初始化列表方式,这也是派生类构造函数必须采用的形式
MyWidget是Qwidget的子类,QWidget(parent)是调用了QWidget的构造函数, 派生类显示调用父类的构造函数,并传参,调用顺序是先调用父类构造函数,再调用派生类的构造函数 若不写调用父类的默认构造函数
{ QPushButton *b = new QPushButton("关闭"); QPushButton *b2= new QPushButton("^_^"); // 将 w 设为 b 的父对象 b->setParent(this); b2->setParent(this); b->move(100, 100); b2->setGeometry(200,200,100, 50); connect(b, SIGNAL(clicked()), this, SLOT(close()));}
本文介绍了一个使用Qt实现的自定义窗口示例,通过继承QWidget类创建了名为MyWidget的自定义窗口,并展示了如何在窗口中添加按钮及设置按钮的行为。

被折叠的 条评论
为什么被折叠?



