QT中QWidget、QDialog以及MainWindow的区别
头文件源文件举例:
explict:explicit修饰, 指定这个构造器只能被明确的调用、使用,不能作为类型转换操作符被隐含的使用。实例
setupUi()函数是用来生成Ui界面的
namespace Ui {class MainWindow;}
private:
Ui::MainWindow *ui;
第一部分定义了命名空间Ui,并在其中前置声明了HelloDialog类。前置声明是为了加快编译速度,也可以避免在一个头文件中随意包含其他文件产生错误。第二部分定义了该类对象的指针,这并不需要该类的完整定义,所以可以使用前置声明
class MainWindow : public QMainWindow //其中单冒表示是类MainWindow继承自QMainWindow,这里的冒号起到声明基类的作用,在基类类名前面可以加public\private\protected等标签,用于标识继承的类型,也可以省略,省略的话,用class定义的类默认为private,用
struct定义的类默认为public。