我喜歡使用PyQt的的loadUi()方法在QtDesigner接口文件加載,因爲我經常改變UI文件的想法,不想不斷地將其轉換爲py文件。難以進入小部件
不過,我一直有困難,瞭解如何訪問不同的部件和觀點在我的UI文件。下面的說明我如何加載在用戶界面:
class MyClass(QtGui.QMainWindow):
def __init__(self, parent = None):
super().__init__(parent)
ui = uic.loadUi('MyUserInterface.ui',self)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
mainapplication = MyClass()
mainapplication.show()
app.exec_()
它顯示正常,但我期待,我將能夠在東西線沿線的訪問GUI的元素...
ui.sampleButton.makeDraggable()
我的問題是,我怎麼能訪問我的GUI中的各種元素?
編輯1:我也有試過不分配uic.load呼叫的用戶界面。如下所示訪問時,我可以通過使用Ui_MainWindow訪問一些屬性。然而,它拋出一個錯誤
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
mainapplication = MyClass()
mainapplication.Ui_MainWindow.graphicsView.acceptDrops(True)
mainapplication.show()
app.exec_()
錯誤我得到的是...
Traceback (most recent call last): File "C:\Users\Me\workspaces\com.samplesoftware.software\src\SoftwareView\MyClass.py", line 17, in <module>
mainapplication.Ui_MainWindow.graphicsView.acceptDrops(True)
AttributeError: 'MyClass' object has no attribute 'Ui_MainWindow'
任何想法?
我在ui文件中命名了按鈕sampleButton。 SampleButton只是我爲例子給出的一個名稱。 – Flaminator