【发布时间】:2024-01-16 16:26:01
【问题描述】:
我有一个派生自 QWidget 和模型类的类。根据我的阅读,我不能让模型类从 QObject 派生。
class PageWidget : public QWidget,
public MyModelClass
{
...
};
模型类MyModelClass已经有设置属性的方法,例如setWidth(bool)。看来我不能直接将这些方法用作插槽。如果我声明:
QObject::connect(button, SIGNAl(dataChanged(bool)), this, SLOT(setWidth(bool)));
Qt 在运行时抱怨没有插槽 setWidth(bool)。我必须手动将每个方法添加到 PageWidget 中,它只是调用了与 MyModelClass 相同的方法。
有什么方法可以在不重新声明每个方法的情况下将基本方法引入槽?
【问题讨论】:
-
是的:不要使用多重继承 :-) 你确定你需要它吗?尤其是如果您有方法名称冲突,您将面临很多痛苦。
标签: qt signals-slots qobject