我试图在Anaconda python 2.7中使用pyqt和qtdesigner制作简单的Gui。
我从__init__
函数内部调用一个方法。它返回属性未找到错误
这是我的代码:
import sys, os
from PyQt5 import QtCore, QtGui, uic, QtWidgets
from awesim.pymosim import set_pars
dir_path = os.path.dirname(os.path.realpath(__file__))
qtCreatorFile = os.path.join(dir_path , 'SimpleDymolaRun.ui' )
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent = None, name = None):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.updateParameters.clicked.connect(self.Update)
def Update(self):
dir_path = os.path.dirname(os.path.realpath(__file__))
dsin = os.path.join(dir_path, 'dsin.txt')
value_dict = {'a':1, 'b':2}
set_pars(value_dict, dsin = os.path.join(dir_path, dsin.txt))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
我收到以下错误: -
Traceback:
window = Myapp()
in __init__
self.updateParameters.clicked.connect(self.Update)
AttributeError : 'MyApp' object has no attribute 'Update'
我错过了 init 定义中的一些重要内容。我试过suggestions in some other answers on SO,但其中提到的解决方案对我不起作用。 我做错了什么?