6
我已經關閉了返回QFrame的庫。 我的程序的GUI是用QML(Qt Quick 2.0)開發的。 我需要解決QFrame(QWidget的)集成到QML如何將QWidget集成到QML中(Qt Quick 2.0)
注: 我發現例如:Qt_DIR /例子/ QT-5.3 /聲明/ cppextensions/qwidgets,該做些什麼,因爲我需要。在這個例子中,QWidged被添加到QGraphicsProxyWidget中。我這樣編寫我的代碼,但是當我運行我的應用程序時,它顯示在控制檯中:「無法將QtQuick 1.0項目(MyPushButton)添加到QtQuick 2.0場景中!」。這是該代碼:
class MyPushButton : public QGraphicsProxyWidget
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
public:
MyPushButton(QGraphicsItem* parent = 0)
: QGraphicsProxyWidget(parent)
{
widget = new QPushButton("MyPushButton");
widget->setAttribute(Qt::WA_NoSystemBackground);
setWidget(widget);
QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool)));
}
QString text() const
{
return widget->text();
}
void setText(const QString& text)
{
if (text != widget->text()) {
widget->setText(text);
emit textChanged();
}
}
Q_SIGNALS:
void clicked(bool);
void textChanged();
private:
QPushButton *widget;
};
private:
QPushButton *widget;
};
分享一些代碼,否則所有答案都是猜測。這也顯示了你到目前爲止所做的工作以及答案可以依賴的基礎。對於你的錯誤描述,我*猜*你有一個導入QtQuick 2.0在你的場景文件頭和QtQuick 1.0/1.1在你的表單文件頭。嘗試將您的表單「移植」到QtQuick 2.0中 –
可能出現[Qt5。在QML中嵌入QWidget對象](http://stackoverflow.com/questions/13014415/qt5-embed-qwidget-object-in-qml) –