在 Qt Creator 中,通常是可以通过继承已有的类来创建新的子类的。如果您想要将 QGraphicsView 提升为新建的子类,可以按照以下步骤进行操作:
- 打开 Qt Creator,并打开您的项目。
- 打开包含 QGraphicsView 的头文件(例如 mainwindow.h)。
- 选择 QGraphicsView 类的声明,并右键单击该类。
- 在弹出的菜单中,选择 Refactor -> Add Definition in mainwindow.cpp。
- 这将会自动向 mainwindow.cpp 中添加 QGraphicsView 类的定义。
- 在 mainwindow.h 中添加新类的声明,例如:
class MyGraphicsView : public QGraphicsView
{
Q_OBJECT
public:
MyGraphicsView(QWidget *parent = nullptr);
// 添加需要的成员函数和变量
};
- 在 mainwindow.cpp 中实现 MyGraphicsView 类的构造函数和其他成员函数,例如:
#include "mygraphicsview.h"
MyGraphicsView::MyGraphicsView(QWidget *parent) : QGraphicsView(parent)
{
// 可以在这里进行自定义的初始化操作
}
- 在 mainwindow.ui 文件中,将原来的 QGraphicsView 替换为新建的 MyGraphicsView。
- 重新编译项目,确保没有错误。
- 使用新的 MyGraphicsView 类来代替原来的 QGraphicsView 类。
通过以上步骤,您可以在 Qt Creator 中将 QGraphicsView 提升为新建的子类 MyGraphicsView,并对其进行扩展和定制。
如果还出现错误,例如:
- 如果在 Qt Creator 中,提升 按钮不能被点击,通常是由于以下几个常见原因导致的:
-
未选择正确的控件:
确保您在 Qt Creator 的 UI 设计器中选择了要提升为自定义子类的 QGraphicsView 控件。只有选中了正确的控件,才能看到 "Promote to..." 按钮可用。 -
未填写正确的信息:
在 "Promote to" 对话框中,确保您输入了正确的自定义子类名称和头文件路径。如果路径不正确或名称有误,Qt Creator 将无法正确识别和提升控件。 -
头文件路径错误:
确保在 "Promote to" 对话框中输入的头文件路径是相对于项目的正确路径。应该是指向包含自定义子类声明的头文件的路径,而不是绝对路径。 -
未保存文件:
如果您对 UI 文件或头文件进行了修改,但尚未保存,可能会导致按钮不可点击。请确保在尝试提升控件之前保存所有相关文件。 -
Qt Creator Bug:
有时候 Qt Creator 可能会出现一些 bug 或异常情况,导致某些功能无法正常工作。尝试重新启动 Qt Creator,有时可以解决一些临时问题。
如果您确认以上问题都没有出现,但是按钮仍然无法点击,您可以尝试手动进行控件的提升。
- 提升部件框,最后的”提升“按钮灰色
1.确认子类实现文件是否规范,比如,是否继承同样的基类,里面是否含有Q_OBJECT
2. 保存变动,并重启一下QT Creator开发环境
标签:QGraphicsView,控件,Qt,Creator,子类,MyGraphicsView,解决办法 From: https://blog.csdn.net/zkmrobot/article/details/140216350