如何在另一个类中使用一个类?

Qub1

我正在开发Qt应用程序,而我真的是C ++的新手。我想做的是将一个类创建为变量,然后使用另一个类的内容。

我的结构以及我要执行的操作,以->和<-表示:

主窗口

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "settings.h"

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow {
    Q_OBJECT

    public:
        -->BHSettings settings(qApp->applicationDirPath() + "/settings.ini");--<

        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();

    private:
        Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

主窗口

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
    ui->setupUi(this);
}

MainWindow::~MainWindow() {
    delete ui;
}

void MainWindow::doSomething() {
    -->settings.loadSettings();<--
}

settings.h

#ifndef BHSETTINGS_H
#define BHSETTINGS_H

#include <QSettings>

class BHSettings : public QSettings {
    public:
        QString theme;

        BHSettings(QString settingsFilePath);
        void loadSettings();
        void saveSettings();
        void saveSettings();
};

#endif // BHSETTINGS_H

settings.cpp

#include "settings.h"

BHSettings::BHSettings(QString settingsFilePath) : QSettings(settingsFilePath, QSettings::IniFormat) {
    loadSettings();
    saveSettings();
}

void BHSettings::loadSettings() {
    theme = getTheme();
}

void BHSettings::saveSettings() {
    setValue("General/Theme", theme);
}

QString BHSettings::getTheme() {
    return value("General/Theme", "default").toString();
}

我完全不知道该怎么做。关于如何定义另一个类以使用其方法的一些指导非常有用。

马可·A

您有一个很好的开始,但是由于您的BHSettings类具有非默认构造函数,因此为了将其作为成员变量,应将其初始化到构造函数的初始化列表中

MainWindow::MainWindow(QWidget *parent) : 
  QMainWindow(parent), 
  ui(new Ui::MainWindow), 
  settings(qApp->applicationDirPath() + "/settings.ini")  <--
{
  ui->setupUi(this);
}

您不能在类声明中将其初始化为内联声明或类似的操作。

还要注意,这将导致您BHSettings每次实例化MainWindow都会初始化您的设置对象(即构造的对象)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在另一个类中的一个类中使用Android getContext?

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

来自分类Dev

Python 2.7:如何在另一个类中使用一个类的对象?

来自分类Dev

如何在另一个类的方法中使用来自单独类的一个对象?

来自分类Dev

我如何在另一个类中使用一个类中的方法(是否可能)

来自分类Dev

如何在另一个生成字节码类中使用匿名类实例

来自分类Dev

如何在类外的另一个函数中使用类的方法?

来自分类Dev

如何在java中的另一个项目中使用一个项目中的类?

来自分类常见问题

如何在另一个Java类的Java方法中使用变量值?

来自分类Dev

如何在Typescript类中声明的函数在该类的另一个函数中使用?

来自分类Dev

如何在另一个类中使用onActivityResult

来自分类Dev

如何在另一个类中使用扩展功能?C#

来自分类Dev

如何在Swift中使用泛型对另一个类进行子类化?

来自分类Dev

如何在另一个类中使用Queue.java

来自分类Dev

OpenFL-如何在另一个类中使用addChild?

来自分类Dev

如何在python中的不同类中使用另一个类方法值?

来自分类Dev

如何在python中使用另一个实例的类名创建实例?

来自分类Dev

如何在虚幻脚本中使用另一个类中的变量?

来自分类Dev

如何在另一个类中使用ArrayList?

来自分类Dev

如何在另一个类中使用Queue.java

来自分类Dev

如何在另一个类中使用JFrame中的值

来自分类Dev

如何在另一个类中使用$ PDO变量?

来自分类Dev

如何在as3中使用另一个类的Main

来自分类Dev

如何在PHP 5.6 __autoload()声明中使用另一个类?

来自分类Dev

如何在另一个类中使用类属性?

来自分类Dev

如何在react native中使用另一个类的参数调用函数?

来自分类Dev

C#:如何在另一个类中使用可索引属性?

来自分类Dev

在另一个文件中使用另一个类的变量

来自分类Dev

在Swift中使用另一个类中的一个类的函数

Related 相关文章

  1. 1

    如何在另一个类中的一个类中使用Android getContext?

  2. 2

    Java:如何在另一个类中使用在一个类中实例化的对象?

  3. 3

    Python 2.7:如何在另一个类中使用一个类的对象?

  4. 4

    如何在另一个类的方法中使用来自单独类的一个对象?

  5. 5

    我如何在另一个类中使用一个类中的方法(是否可能)

  6. 6

    如何在另一个生成字节码类中使用匿名类实例

  7. 7

    如何在类外的另一个函数中使用类的方法?

  8. 8

    如何在java中的另一个项目中使用一个项目中的类?

  9. 9

    如何在另一个Java类的Java方法中使用变量值?

  10. 10

    如何在Typescript类中声明的函数在该类的另一个函数中使用?

  11. 11

    如何在另一个类中使用onActivityResult

  12. 12

    如何在另一个类中使用扩展功能?C#

  13. 13

    如何在Swift中使用泛型对另一个类进行子类化?

  14. 14

    如何在另一个类中使用Queue.java

  15. 15

    OpenFL-如何在另一个类中使用addChild?

  16. 16

    如何在python中的不同类中使用另一个类方法值?

  17. 17

    如何在python中使用另一个实例的类名创建实例?

  18. 18

    如何在虚幻脚本中使用另一个类中的变量?

  19. 19

    如何在另一个类中使用ArrayList?

  20. 20

    如何在另一个类中使用Queue.java

  21. 21

    如何在另一个类中使用JFrame中的值

  22. 22

    如何在另一个类中使用$ PDO变量?

  23. 23

    如何在as3中使用另一个类的Main

  24. 24

    如何在PHP 5.6 __autoload()声明中使用另一个类?

  25. 25

    如何在另一个类中使用类属性?

  26. 26

    如何在react native中使用另一个类的参数调用函数?

  27. 27

    C#:如何在另一个类中使用可索引属性?

  28. 28

    在另一个文件中使用另一个类的变量

  29. 29

    在Swift中使用另一个类中的一个类的函数

热门标签

归档