QT Widget窗口类的疑问
小弟新手刚开始学QT。今天用Creator建立了一个widget工程,建完后发现自动生成了两个文件widget.h 和 widget.cpp, 于是就跟到了widget.h中看了下。里面有一句话不明白:
- C/C++ code
class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~Widget();private: Ui::Widget *ui; ///请问这句话表示什么意思?};
然后在widget.cpp 中也有一句没明白:
- C/C++ code
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) ///这句话代表什么意思?{ ui->setupUi(this);}
还望哪位能给解答下,谢谢
[解决办法]
第一句是声明类的私有变量 第二是实现其构造方法
[解决办法]
第二句中,是C++类的一种表现,由于你写的类是扩展了,Qwidget类,但是这个类没有实体,所以必须先生成一个实例,然后才能派生一个子类,QWidget派生子类的时候都要加上这一句。这点你可以看看C++中的相关内容。
至于UI,其实是QtDesigner,就是设计师,图像化的编程界面产生的类,这个编程界面的结果要加到你编写的类中,就要这么写。