我需要使Qlabel
點擊,這基本上是我用來在我的主窗口中顯示圖像,通過谷歌搜索,我發現我需要爲Qlabel
創建一個子類,根據這個鏈接https://wiki.qt.io/Make-a-QLabel-Clickable。Clickable Qlabel如何使用內部設計器
我的問題是如何在我的UI設計器中使用這個自定義類,是否有可能?或者我必須通過代碼管理這個UI元素?
任何幫助將不勝感激..
感謝 哈里斯
我需要使Qlabel
點擊,這基本上是我用來在我的主窗口中顯示圖像,通過谷歌搜索,我發現我需要爲Qlabel
創建一個子類,根據這個鏈接https://wiki.qt.io/Make-a-QLabel-Clickable。Clickable Qlabel如何使用內部設計器
我的問題是如何在我的UI設計器中使用這個自定義類,是否有可能?或者我必須通過代碼管理這個UI元素?
任何幫助將不勝感激..
感謝 哈里斯
裏面的Qt Desiger,你必須創建一個QLabel
,然後「推廣」它的ClickableLabel
類。
要做到這一點,請右鍵單擊在窗口小部件中實例化的QLAbel對象,選擇「Promote widget ...」並指定類名和定義它的頭文件的路徑。
請注意,ClickableLabel
的頭文件和源文件都必須是Qt項目的一部分。
這應該只是工作!
使用您的鏈接提供的,我做我的main()
如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow *w = new MainWindow;
ClickableLabel *MyLable = new ClickableLabel("Amol",w);
MyLable->show();
w->show();
return a.exec();
}
重要的一點是,當您自定義窗口小部件,你需要通過parent pointer
到自定義窗口小部件,也就是MainWindow
這裏。一旦你自定義小部件,你需要以編程方式提供所有的屬性。請在您的項目中爲ClickableLabel
類別分別添加.h
和.cpp
。 希望這對你有幫助。
我想,UI設計指的是Qt Creator的...
可以促進標準QLabel可點擊標籤方式如下:
創建ClickableLabel -class。
在QT Creator中創建標準的QLabel-widget。
單擊表單編輯器中新QLabel-widget頂部的鼠標右鍵並選擇「提升到」。
將先前創建的ClickableLabel類的名稱輸入到Promoted類名稱字段中。該對話框還會根據類的名稱自動填充頭文件字段。
按下Add按鈕。
從列表中選擇一個新的升級班,然後按「升級」按鈕。
現在,在步驟2上創建的QLabel-widget實際上是ClickableLabel-object。
嗨感謝您的回答,實際上我的用戶界面包含10個QLabel項目,使用上述方法應創建10個對應於每個Qlabel的類別 – Haris
您需要提升10'QLabel',創建10個'ClickableLabel'對象。現在,如果你真的有10個對象,你也可以在.ui中留下一個空的佈局,並使用'for'循環從類構造函數(實例化.ui的那個)中編程添加標籤。然後你直接創建'ClickableLabel'對象並將它們添加到空白的佈局(使用'addWidget')。 – jpo38
嗨,感謝您的重播。 – Haris