Python上引用同目录下其他py文件函数的问题

我用PyQt创建了一个UI文件,然后新建了一个py文件,我想在这个新文件内引用一个LineEdit,UI文件的部分代码如下

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(1124, 623)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(190, 110, 131, 31))
font = QtGui.QFont()
font.setPointSize(14)
self.label_3.setFont(font)
self.label_3.setMidLineWidth(0)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.LineEdit = QtGui.QLineEdit(self.centralwidget)
self.LineEdit.setGeometry(QtCore.QRect(330, 110, 501, 31))
self.LineEdit.setObjectName(_fromUtf8("LineEdit_2"))

我想引用那个LineEdit,然后自己文件里写的代码

import sys
reload(sys)
sys.setdefaultencoding('utf8')
from UI import Ui_MainWindow

def hist():
stock_code = Ui_MainWindow.LineEdit.text()
print (stock_code)

然后就会报错AttributeError: type object 'Ui_MainWindow' has no attribute 'LineEdit'

该怎么解决啊,新手先谢过各位大大了

2个回答

把LineEdit放到Ui_MainWindow 的初始化函数中,__init__, 这样才能变成属性

wu19960918
金属融化攻城狮 放在UiMainWindow的初始化函数后,GUI里框没有了
大约 3 年之前 回复

Ui_MainWindow 这是一个class,应该stock_code = Ui_MainWindow().LineEdit.text() 这样才可以吧? 如果需要直接调用的话,需要加@staticmetchod或者@classmethod修饰后可以按你这样的方法调用。

wu19960918
金属融化攻城狮 改为stock_code = Ui_MainWindow().LineEdit.text()后依然报AttributeError: 'Ui_MainWindow' object has no attribute 'LineEdit'
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐