- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是否可能具有 QObjects 和(例如)QGraphicsWidgets 的树状结构?我的意思是,我不能像这样编写初始化列表:
class MyButton : public QGraphicsWidget
{
Q_OBJECT
public:
MyButton(int buttonId, QObject *parent = 0) : QObject(parent)
{
}
然后,就像
myButton = new MyButton(id, myObject);
我应该做 .setParent 还是什么?
更新:查看实际分配:
class myObject : public QObject
{
Q_OBJECT
public:
MyObject(QObject *parent = 0) : QObject(parent) {
}
MyButton *myButton;
void showButton(){
myButton = new MyButton(id, this); //no matching function for call to 'MyButton::MyButton(MyObject* const)'
//note: no known conversion for argument from 'MyObject* const' to 'QGraphicsObject*'
}
};
最佳答案
我认为您将 parent
混淆为 QObject parent/child hierarchy parent 和 parent item
在图形场景中。如果你想要前者,你需要使用通常的 setParent
机制。
无论哪种方式,构建基类的尝试都是错误的。将其替换为:
MyButton(int buttonId, QGraphicsItem *parent = 0) : QGraphicsWidget(parent)
此外,如果您使用 Qt 5,您可能希望检查 Q_NULLPTR
而不是 0
、NULL
、nullptr
和其他变体。
如果您希望图形项成为父项,那么您将需要使用继承QGraphicsItem
和QObject
的QGraphicsObject
。它们可用于两种育儿目的。
另外,由于QGraphicsWidget
继承了QGraphicsObject
,它可以直接用于两种父子机制。
关于c++ - QGraphicsWidget 作为 QObject 的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27672137/
在我的应用程序中,我继承了 QGraphicsWidget 在绘画中,我画了一条笔宽为 4 的线。 我重新实现了 boundingRect() 和 shape()。 但是每次单击鼠标右键时我都无法捕获
在我的应用程序中,我有两种对象类型。一个是字段项,另一个是复合项。复合项可能包含两个或更多字段项。这是我的复合项目实现。 #include "compositeitem.h" CompositeIte
我是第一次使用 QGraphicsView/Scene。这是在 PyQt 中,但除了 Python 与多重继承不同之外,我认为这是一个通用的 Qt 问题。 我首先创建了几个 QGraphicsItem
我有一个名为“TestContentArea”的自定义 QGraphicsWidget,它已添加到 QGraphicsScene。在我的自定义 QGraphicsWidget 中,我添加了一些添加到其
我正在制作简单的 2D 游戏(迷宫),我正在使用 QGraphicsView、QGraphicsScene 和 QGraphicsGridLayout 来管理网格中的图 block 。 map 用字符
我试图在 QGraphicsWidget 中显示 QGraphicsView,但我似乎无法让它工作。 这就是我想要实现的目标,其中QGraphicsWidgets全部添加到QGraphicsScene
我正在尝试在 qgraphicswidget 中绘制文本。场景的水平比例为 -180 到 180,垂直比例为 -90 到 +90(这是一张世界地图)。 当我放大 map 上的单个项目时,我希望显示一些
我想在我的 QGraphicswidget 中嵌入一个 QWidget,例如按钮或进度条,但我只看到了将 QWidget 添加到 QGraphicsScene 的示例,即 m_scene->addWi
首先我应该说我已经尝试从所有 POV 来看这个问题。我也在 freenode 上询问过,有人向我提出了一些建议,但最终证明这些建议不可能奏效。 在我看来,那些提出建议的人似乎并不真正了解类层次结构和概
有没有可能 QGraphicsWidget成为 QWidget 的 parent ?我有一个 QGraphicsItem我想添加一个 QWidget在此项目中,如何设置 QWidget在QGraphi
这是否可能具有 QObjects 和(例如)QGraphicsWidgets 的树状结构?我的意思是,我不能像这样编写初始化列表: class MyButton : public QGraphicsW
我通过 QGraphicsProxyWidget 向图形场景 (QGraphicScene) 添加了一个小部件。问题是当我选择项目时它被选中,但选择边框不可见。 代码如下: QDial *di
我已经建立了一个自定义 QGraphicsView为某些按键事件定义了行为。 View 显示 QGraphicsScene与 QGraphicsProxyWidgets . 问题是,一旦我覆盖了 ke
我希望我的 QGraphicsWidget 根据场景的大小来缩放它的大小。我目前拥有的 QGraphicsWidget 是固定大小,具体取决于 sizeHint 的返回值(QGraphicsWidge
我有一个相当简单的 PyQt 应用程序,我在其中将 QGraphicsWidget 的实例放置在 QGraphicsGridLayout 中,并希望将小部件与用 QGraphicsPath 绘制的线连
我正在将更大的 QGraphicsItems 程序转换为 QGraphicsWidgets(为了打字,我们称它们为 item 和 widget)。鼠标悬停现在失败,因为小部件的位置和/或矩形与旧项目不
我是一名优秀的程序员,十分优秀!