[英]error C2664: 'App *const' to 'QWidget *'
我正在嘗試將動畫gif放入程序中。
但是,當我遵循正確的語法時
QMovie *hit1=new QMovie("BadExplosion.gif");
QLabel *processLabel=new QLabel(this);
processLabel->setMovie(hit1);
hit1->start();
在里面
void TestApp::draw()
{
//this code and other drawing code here
}
我遇到了錯誤
錯誤C2664:'QLabel :: QLabel(QWidget *,Qt :: WindowFlags)':無法在行上將參數1從'TestApp * const'轉換為'QWidget *'
QLabel *processLabel=new QLabel(this);
有任何想法嗎? 謝謝!
編輯:TestApp是一個自定義類。
如果TestApp
是自定義類,則此代碼不起作用是完全正常的。
Qt的每個UI元素在構造時都可以使用一個參數,該參數是將充當父級的QWidget
。 該父母特別負責處理其子女的刪除。 您應該在Qt文檔(尤其是QWidget constructor
的文檔)中閱讀有關此內容的更多信息。
在你的情況,你不應該通過this
的QLabel構造函數。 您必須傳遞另一個將成為該QLabel
父級的小部件。
編譯器會根據您收到的消息清楚地顯示此問題。 它等待QWidget
,但是得到了您的類(它在任何時候都不繼承QWidget
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.