
能否具体解析一下这段C++程序?谢谢!
#include<QDialog>namespaceUi{classDialog;}classDialog:publicQDialog{Q_OBJECT//这句的作用是什...
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT //这句的作用是什么?
public:
explicit Dialog(QWidget *parent = 0); //这句的作用是什么?*parent在哪里定义了?
~Dialog(); //这句的作用是什么?
private:
Ui::Dialog *ui; //这句的作用是什么?一个程序后面跟着一个指针?
}; 展开
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT //这句的作用是什么?
public:
explicit Dialog(QWidget *parent = 0); //这句的作用是什么?*parent在哪里定义了?
~Dialog(); //这句的作用是什么?
private:
Ui::Dialog *ui; //这句的作用是什么?一个程序后面跟着一个指针?
}; 展开
展开全部
Q_OBJECT //这句的作用是什么?百度后一堆答案,我的理解是这个类中的信号槽机制起作用,好像印象中这个类必须继承至QObject才能添加这一句 ,QT的特色之一就是信号槽机制,该机制的实现需要使用moc程序进行编译时扩展。
explicit Dialog(QWidget *parent = 0); //这句的作用是什么?*parent在哪里定义了?
要求显示调用这个构造函数,不支持可能的隐式转换,*parent就在这里定义啊,只不过这里直接设定默认值是0,类型是QWidget ,意思是你可以不提供参数,建议百度看看C++候选函数是怎么匹配的和参数默认值是怎么回事。
~Dialog(); //这句的作用是什么?析构函数的声明。
Ui::Dialog *ui; //这句的作用是什么?一个程序后面跟着一个指针?QT的特长是界面绘制,这个UI对应着它的页面类,可以理解成那种拖控件就可以直接完成页面设计的类,如果写过VB或者安卓,你就明白他们都支持代码设计UI和直接拖拉控件设计UI,这里的ui指向的就是页面类,我习惯纯代码控制,所以可以删除这个指针,如果你的页面是基于直观拖拉方式进行设计的,那么就需要这个。建议把QT教程看完吧,个人认为你的C++基本功也不太好啊,先完整学习一遍C++和QT吧,不用急于编程。
explicit Dialog(QWidget *parent = 0); //这句的作用是什么?*parent在哪里定义了?
要求显示调用这个构造函数,不支持可能的隐式转换,*parent就在这里定义啊,只不过这里直接设定默认值是0,类型是QWidget ,意思是你可以不提供参数,建议百度看看C++候选函数是怎么匹配的和参数默认值是怎么回事。
~Dialog(); //这句的作用是什么?析构函数的声明。
Ui::Dialog *ui; //这句的作用是什么?一个程序后面跟着一个指针?QT的特长是界面绘制,这个UI对应着它的页面类,可以理解成那种拖控件就可以直接完成页面设计的类,如果写过VB或者安卓,你就明白他们都支持代码设计UI和直接拖拉控件设计UI,这里的ui指向的就是页面类,我习惯纯代码控制,所以可以删除这个指针,如果你的页面是基于直观拖拉方式进行设计的,那么就需要这个。建议把QT教程看完吧,个人认为你的C++基本功也不太好啊,先完整学习一遍C++和QT吧,不用急于编程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询