是否有可能让Qt Creators Ui设计人员为无法识别的类创建插槽?

问题描述 投票:2回答:1

即,通过右键单击窗口小部件并选择“转到插槽...”来创建插槽。

示例1,有效:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

这不是,因为显然设计者正在寻找Ui :: MainWindow *并在找不到时完全吓坏了(获取“找不到包含'Ui :: MainWindow'的类...”)

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <memory>
#include <QMainWindow>

namespace Ui {
class MainWindow;
}



class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    std::unique_ptr<Ui::MainWindow> ui;
};

#endif // MAINWINDOW_H

我基本上是在寻找一种告诉Qt的方法:“是的,我的意思是该类。我知道它不包含Ui :: MainWindow *,没关系,一切都会好起来的……”。除非我错了,并且出于某种原因,该类实际上需要将此作为普通指针。]

即,通过右键单击窗口小部件并选择“转到插槽...”来创建插槽。示例1,可以正常工作:#ifndef MAINWINDOW_H #define MAINWINDOW_H #include 名称空间Ui {class ...

c++ qt c++11 qt-creator
1个回答
0
投票

QT创建者找不到您的“ mainwindow.cpp”文件来放置插槽功能定义。检查以下行是否在您的mainwindow.cpp文件中:

© www.soinside.com 2019 - 2024. All rights reserved.