'Ui::Dialog* Dialog::ui' is private Ui::Dialog *ui; 怎么解决
时间: 2024-02-07 22:02:00 浏览: 124
07_代码化 UI 设计1
这个问题是因为 `Ui::Dialog *ui` 是在 `Dialog` 类的私有成员中声明的,无法在类外部直接访问。可以通过在 `Dialog` 类中添加公有成员函数来访问它。例如,可以添加一个公有成员函数 `Ui::Dialog* getUi()`,在该函数中返回 `ui` 指针。
示例代码如下:
```c++
class Dialog {
public:
Ui::Dialog* getUi() {
return ui;
}
private:
Ui::Dialog *ui;
};
```
然后,可以在类外部通过调用 `getUi()` 函数来访问 `ui` 指针。
注意:如果 `Dialog` 类是从 Qt 的 `QDialog` 类继承而来,那么 `ui` 指针可能已经在 `QDialog` 中声明为了保护成员,因此可以直接在 `Dialog` 类中访问。
阅读全文