python訪問例項屬性x python 3 x

2021-10-12 13:39:35 字數 2779 閱讀 9999

假設我已經使用gui.py檔案中的pyuic5命令生成了gui.ui檔案。 我正在尋找一種在ui_mainwindow主類進行任何結構更改的情況下將主類( ui_mainwindow )方法移動到另乙個名為func.py檔案的方法。 在這裡,我有乙個非常簡單的生成的gui.py :

from pyqt5 import qtcore, qtgui, qtwidgets

class ui_mainwindow(object):

def setupui(self, mainwindow):

mainwindow.setobjectname("mainwindow")

mainwindow.resize(800, 600)

self.centralwidget = qtwidgets.qwidget(mainwindow)

self.centralwidget.setobjectname("centralwidget")

self.pushbutton = qtwidgets.qpushbutton(self.centralwidget)

self.pushbutton.setgeometry(qtcore.qrect(350, 240, 75, 23))

self.lineedit = qtwidgets.qlineedit(self.centralwidget)

self.lineedit.setgeometry(qtcore.qrect(330, 270, 113, 20))

mainwindow.setcentralwidget(self.centralwidget)

self.retranslateui(mainwindow)

qtcore.qmetaobject.connectslotsbyname(mainwindow)

self.pushbutton.clicked.connect(self.buttonclicked)

def buttonclicked(self, mainwindow):

print(self.lineedit.text())

def retranslateui(self, mainwindow):

mainwindow.setwindowtitle(_translate("mainwindow", "mainwindow"))

self.pushbutton.settext(_translate("mainwindow", "pushbutton"))

if __name__ == "__main__":

import sys

mainwindow = qtwidgets.qmainwindow()

ui = ui_mainwindow()

ui.setupui(mainwindow)

mainwindow.show()

我需要將buttonclicked函式移至func.py檔案。 因此,這裡是沒有該功能的gui.py :

from pyqt5 import qtcore, qtgui, qtwidgets

import func

class ui_mainwindow(object):

def setupui(self, mainwindow):

mainwindow.setobjectname("mainwindow")

mainwindow.resize(800, 600)

self.centralwidget = qtwidgets.qwidget(mainwindow)

self.centralwidget.setobjectname("centralwidget")

self.pushbutton = qtwidgets.qpushbutton(self.centralwidget)

self.pushbutton.setgeometry(qtcore.qrect(350, 240, 75, 23))

self.lineedit = qtwidgets.qlineedit(self.centralwidget)

self.lineedit.setgeometry(qtcore.qrect(330, 270, 113, 20))

mainwindow.setcentralwidget(self.centralwidget)

self.retranslateui(mainwindow)

qtcore.qmetaobject.connectslotsbyname(mainwindow)

self.pushbutton.clicked.connect(func.buttonclicked(mainwindow))

def retranslateui(self, mainwindow):

mainwindow.setwindowtitle(_translate("mainwindow", "mainwindow"))

self.pushbutton.settext(_translate("mainwindow", "pushbutton"))

if __name__ == "__main__":

import sys

mainwindow = qtwidgets.qmainwindow()

ui = ui_mainwindow()

ui.setupui(mainwindow)

mainwindow.show()

和func.py :

import gui

def buttonclicked(self, mainwindow):

print(gui.mainwindow.lineedit.text())

最簡單的方法是什麼?

Python 屬性訪問

對於 python 而言,我們知道可以使用 property 這樣的decorator 來實現對於類的屬性訪問的控制。但是這種方法存在乙個限制,即,沒有乙個屬性需要進行屬性控制,就必須新增類似於如下的幾行語句 property defwidth self returnself.width 其實,我們...

Python類屬性,例項屬性

dreamfor的部落格 1.python類資料屬性 定義在類裡面但在函式外面的變數,它們都是靜態的。一段很簡單的 但反應了很多 class a a 1 乙個類裡面有個屬性a a a b a a.a b.a a.a 這個屬效能被例項和類訪問 a.a 2 b.a a.a 改變例項a的屬性a,例項b和類...

Python 類屬性 例項屬性

1.類的三大要素 類名 屬性 方法 屬性又分為例項屬性和類屬性 1 class tool object 2 屬性3 num 045 方法6def init self,new name 7 self.name new name 寫在 init 中的是例項屬性,也是通過方法定義的,是跟著例項物件的 寫在...