Qt中新建类构造函数的初始化参数列表

使用Qt-creator自动生成一个窗体应用程序时会自动创建一个新的类,我的程序中名为MyDialog,类的定义为:

 1 #ifndef MYDIALOG_H
 2 #define MYDIALOG_H
 3 
 4 #include <QDialog>
 5 
 6 namespace Ui {
 7 class MyDialog;
 8 }
 9 
10 class MyDialog : public QDialog
11 {
12     Q_OBJECT
13 
14 public:
15     explicit MyDialog(QWidget *parent = 0);
16     ~MyDialog();
17 
18 private:
19     Ui::MyDialog *ui;
20 };
21 
22 #endif // MYDIALOG_H

相应的构造函数为:

1  1 //构造函数
2  2 MyDialog::MyDialog(QWidget *parent) :
3  3     QDialog(parent),
4  4     ui(new Ui::MyDialog)
5  5 {
6  6     ui->setupUi(this);
7  }

其中,构造函数:MyDialog::MyDialog(QWidget *parent) : QDialog(parent),ui(new Ui::MyDialog){......}形式中,“::”前的MyDialog表示类名,“::”后的MyDialog为成员函数,其名称与类相同,表示该类的构造函数,(QWidget *parent)为该构造函数的参数。“:”之后的部分为构造函数的初始化参数列表,其中QDialog(parent)为派生类MyDialog显式调用父类QDialog的构造函数,并传参,调用顺序是先调用父类构造函数,再调用派生类的构造函数,若不写调用父类的默认构造函数。 ui(new Ui::MyDialog)表示使用类内初始值对ui进行初始化,这部分可以放到函数体中实现,成为:

1 MyDialog::MyDialog(QWidget *parent) : QDialog(parent)
2 {
3     ui = new Ui::MyDialog;
4     ui->setupUi(this);
5 }

 

转载于:https://www.cnblogs.com/blackeyes/p/5125811.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt5添加包含QWidget的C++比较简单。首先,我们需要在头文件(.h)包含QWidget的声明。例如,我们可以使用以下代码: ```cpp #include <QWidget> ``` 然后,我们可以创建一个新的C++,并继承自QWidget。下面是一个示例代码: ```cpp class MyClass : public QWidget { Q_OBJECT public: MyClass(QWidget *parent = nullptr); ~MyClass(); }; ``` 在上述代码,我们创建了一个名为MyClass的新,它继承自QWidget。我们还在的声明包含了Q_OBJECT宏,这是为了支持Qt的信号和槽机制。 接下来,我们需要实现构造函数和析构函数。这可以在实现文件(.cpp)完成,如下所示: ```cpp MyClass::MyClass(QWidget *parent) : QWidget(parent) { // 构造函数的实现 } MyClass::~MyClass() { // 析构函数的实现 } ``` 在构造函数,可以执行初始化操作,例如设置窗口大小、添加控件等。析构函数可以在对象被销毁时执行一些资源清理的操作。 当我们完成上述步骤后,我们就可以在其他地方使用MyClass了。例如,我们可以在主窗口创建一个MyClass的对象,并将它添加到主窗口: ```cpp MyClass *myObj = new MyClass(this); myObj->show(); ``` 以上就是将包含QWidget的C++添加到Qt5的基本步骤。当然,在实际开发可能会涉及更多的功能和操作,但基本的原理和方法是相同的。 ### 回答2: 在Qt5添加一个包含QWidget的C++可以按照以下步骤进行。 1. 打开Qt Creator,创建一个新的Qt Widgets应用程序项目。 2. 在项目目录,右键单击项目文件,并选择“添加新建的”>“C++”。 3. 在弹出的对话框,输入的名称,并选择分配给的基为“QWidget”。 4. 单击“下一步”按钮,选择在哪个目录生成新的源文件和头文件。 5. 单击“完成”按钮,Qt Creator会自动生成一个新的C++文件,并将其添加到项目。 现在,您可以使用这个新的QWidget派生来创建自定义的窗口小部件。您可以在的头文件添加任何自定义的成员函数和成员变量,以实现您的应用程序的功能。例如,您可以添加以下内容: ```cpp #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = nullptr); // 添加自定义成员函数和成员变量 signals: }; #endif // MYWIDGET_H ``` ```cpp #include "mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { // 在构造函数进行初始化和设置 } ``` 然后,您可以在主窗口或其他地方创建并使用这个自定义的QWidget派生: ```cpp #include <QApplication> #include <QWidget> #include "mywidget.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MyWidget widget; widget.show(); return a.exec(); } ``` 通过以上步骤,您就成功地在Qt5添加了一个包含QWidget的C++。您可以根据自己的需求进一步定制和扩展这个。 ### 回答3: 在Qt5添加包含QWidget的C++可以通过以下几个步骤完成。 首先,我们需要创建一个C++的头文件和源文件。可以使用Qt Creator自动生成这些文件。在Qt Creator,选择File -> New File or Project,选择C++ Class,并设置的名称和位置。确保在的头文件引入QWidget的头文件,例如#include <QWidget>。 接下来,在的头文件,我们需要将该声明为QWidget的子。在的声明添加一个继承QWidget的关键字: ```cpp class MyClass : public QWidget { Q_OBJECT public: // 构造函数和其他成员函数的声明 }; ``` 然后,在的源文件,我们需要实现构造函数和其他所需的成员函数。可以通过在构造函数调用QWidget的构造函数初始化QWidget的实例,并设置的窗口属性: ```cpp MyClass::MyClass(QWidget *parent) : QWidget(parent) { // 设置窗口属性 setWindowTitle("My Widget"); resize(300, 200); // 其他初始化操作 } ``` 最后,在主程序,我们可以创建和展示这个自定义的QWidget的实例。在主函数创建一个Qt应用程序,然后实例化MyClass,并显示它: ```cpp int main(int argc, char *argv[]) { QApplication app(argc, argv); MyClass myObject; myObject.show(); return app.exec(); } ``` 通过以上步骤,我们成功地在Qt5添加了一个包含QWidget的C++。这个自定义的QWidget可以通过实例化并显示来在应用程序使用,并具备QWidget的交互和界面功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值