2015-12-21 44 views
1

我有一個框架與多個元素,並且該框架有一個工具提示,可以非常快速地更新。當你將鼠標懸停在框架上時,工具提示信息不會更新,它會一直保持不變,直到您移動光標。如何不斷更新工具提示信息?

我已經看到了這類似的問題:continuously updating tooltip

但我需要它做了哪些代碼與設計師創造了一個QFrame。

我使用下面的代碼。我試圖將函數放置在那裏,但它不起作用,因爲QFrame是在設計器自動生成的代碼my_window.Ui_Form內生成的。

class MyWindow(QtGui.QDialog, my_window.Ui_Form): 
    def __init__(self): 
     QtGui.QDialog.__init__(self) 
     my_window.Ui_Form.__init__(self) 
     self.setupUi(self) 

    def event():#??? 

我怎麼能做到這一點?

+0

我相信你可以繼承'QFrame'並將其加載到設計器中(https://wiki.python.org/moin/PyQt/Using_Python_Custom_Widgets_in_Qt_Designer) – Mel

回答

0

您可以使用您發佈的類似問題中的示例代碼。在你的設計師中添加一個網格,我們稱它爲mygrid。然後使用mygrid.addWidget()將自定義小部件(MyLabel)添加到您的代碼中。

class MyWindow(QtGui.QDialog, my_window.Ui_Form): 
    def __init__(self): 
     QtGui.QDialog.__init__(self) 
     my_window.Ui_Form.__init__(self) 
     self.setupUi(self) 
     self.mygrid.addWidget(MyLabel()) 

這是我的第一篇文章,希望它是有用的。

+0

非常感謝你的回答!問題是我的小部件不是標籤,而是包含qtdesigner中設計的其他小部件的框架,如果我使用該代碼,它們會消失嗎? – Jorky10

+0

該QFrame中是否有很多小部件?否則,在您的代碼中將其子類化並在那裏使用它。只要確保你有一個框架來添加你的東西。已經有了實際的代碼來顯示。? –