2008-10-03 86 views

回答

4

不幸的是,這在Qt4中是不可能的。

在Qt3中,你可以創建自定義的插槽,然後在ui.h文件中實現。但是,Qt4不使用此文件,因此不支持自定義插槽。

上有QtForum

+0

了Qt4設計者支持讀取在從QT3移植形式創建的定製槽。它給了我這種印象,也有可能創造一個。 – user24560 2008-10-03 11:18:13

+0

請參閱下面的raigon評論,這是目前可能的。 – OliJG 2013-05-31 08:44:21

3

這個問題上的一些討論,這似乎不是一個簡單的方法就可以了。

設計師只允許您將現有的小部件提升到您自己的自定義小部件。但它不允許您連接提升小部件類的信號和插槽。

這是可能的方式是爲設計者創建一個插件,如described here以及隨後的頁面。

正常的行爲是將小部件提升到自己的類,然後在自己的代碼中手動連接它。這個過程描述如下here

2

這是不可能的,因爲這意味着你會添加一個插槽到現有的Qt類,如QPushButton這不是真的要走的路。

你最終應該創建自己的QWidget子類化現有的。然後按照建議將其作爲插件集成到Qt Designer中。有了自己的課程,您可以根據需要添加/修改可用的信號/插槽。

2

不要忘記插槽自動連接功能。有一些缺點,比如在重命名你的小部件時必須重命名你的函數,但我們在我的公司中使用了這些。

2

可以使用的

void on_objectName_signal() { 
// slot code here, where objectname is the Qt Designer object name 
// and the signal is the emission 
} 

該方法的連接是通過該方法connectSlotsByName並且每當信號被髮射時,該槽被調用建立的魔術時隙格式。

28

在Qt Designer 4.5.2版本中,這似乎是可行的,但是不能從在主窗口的Signal/Slot Editor dock-widget中完成。

這對我來說

  1. 切換到Edit Signals/Slots模式(F4)
  2. 將它從它發出信號,以這是接收信號的插件的窗口小部件掉落什麼工作。
  3. A 配置連接對話框出現,顯示發出小部件的信號以及接收小部件的插槽。點擊編輯...在右側的插槽列下方。
  4. A 信號/插槽的ReceivingWidget對話框出現。在這裏可以點擊插槽下方的加號圖標來添加任何名稱的新插槽。
  5. 然後,您可以返回並連接到配置連接對話框中的新插槽,或確實在主窗口中的Signal/Slot Editor dockwidget中。

警告:我使用PyQt的,我也只是試圖用這種方式在Python,而不是C++,所以你的里程可能會有所不同添加插槽...

+3

「配置連接」對話框中的兩個「編輯...」按鈕都始終顯示爲灰色。 – James 2009-11-07 21:27:07

1

也許它會幫幫我。

默認情況下,您必須從現有插槽列表中進行選擇。但是您可以通過在設計器右側的列表中右鍵單擊添加插槽,然後選擇「插槽/信號」並添加自定義插槽/信號。之後,您可以在信號/插槽編輯器中選擇它。

0

通過右鍵

點擊widget促進構件到你定義

一類通過右鍵單擊窗口小部件再次

你會看到信號和槽可編輯

26

右鍵單擊主窗口並選擇「更改信號和插槽」並添加一個新插槽。 它會出現在你的信號槽編輯器中。

4

我能夠通過做到這一點:

在MainWindow.h,添加一行:

public slots: 
    void example(); 

在主窗口類。

在MainWindow.cpp

void MainWindow::example() { 
    <code> 
} 
相關問題