如何也继承 QLabel 和 QPushButtonton,我尝试的显示错误消息
/home/test.cpp:206: error: reference to 'setText' is ambiguous
setText(text);
^
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
class virtualLabel: virtual public QLabel
{
Q_OBJECT
public:
explicit virtualLabel(const QString& text="", QWidget* parent=0){}
~virtualLabel(){}
};
class virtualPushButton: virtual public QPushButton
{
Q_OBJECT
public:
explicit virtualPushButton(const QString& text="", QWidget* parent=0){}
~virtualPushButton(){}
};
class customLabel : public virtualLabel, public virtualPushButton
{
Q_OBJECT
// Q_DECLARE_INTERFACE
//Q_INTERFACES(YourInterface OtherInterface)
public:
explicit customLabel(const QString& text="", QWidget* parent=0);
~customLabel();
QString folderName;
};
Run Code Online (Sandbox Code Playgroud)
任何帮助表示感谢谢谢
你没有。
除了含糊不清的问题之外,您还会遇到更多问题。
从关于moc的 Qt 文档:
不支持QObject 的虚拟继承。
(相信他们)
而是使用组合并公开您需要的信号、槽和函数。
class customLabel : public QWidget
{
Q_OBJECT
public:
explicit customLabel(const QString& text="", QWidget* parent=0);
~customLabel();
protected:
QPushButton* button;
QLabel* label;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1105 次 |
| 最近记录: |