AttributeError的: 'Ui_Dialog' 对象有没有属性 'lineEdit_3'
问题描述:
链接到我的全码:https://www.dropbox.com/s/0tdnm2yd8038fwh/additem.py?dl=0AttributeError的: 'Ui_Dialog' 对象有没有属性 'lineEdit_3'
这是错误我得到:
File "C:/Users/Lloyd/Desktop/Python Projects/stock/additem.py", line 187, in <module>
ui = Ui_Dialog()
File "C:/Users/Lloyd/Desktop/Python Projects/stock/additem.py", line 23, in __init__
self.setupUi(self)
File "C:/Users/Lloyd/Desktop/Python Projects/stock/additem.py", line 66, in setupUi
self.buttonBox.accepted.connect(self.accept())
File "C:/Users/Lloyd/Desktop/Python Projects/stock/additem.py", line 169, in accept
brandName = self.lineEdit_3.text()
AttributeError: 'Ui_Dialog' object has no attribute 'lineEdit_3'
每次顺利之前,我补充一下:
self.buttonBox.accepted.connect(self.accept())
调用此方法:
def accept(self):
conn = sqlite3.connect('inventory.db')
c = conn.cursor()
unix = time.time()
dateUpdated = datetime.datetime.fromtimestamp(unix).strftime('%Y-%m-%d %H:%M:%S')
company = self.lineEdit_2.text()
brandName = self.lineEdit_3.text()
genericName = self.lineEdit_4.text()
purchasePrice = self.lineEdit_5.text()
category = self.lineEdit_6.text()
sellingPrice = purchasePrice * sellingFactor
quantity = self.lineEdit_7.text()
#dosageForm = self.lineEdit_9.text()
expiryDate = self.lineEdit_10.text()
c.execute(
"INSERT INTO inventory(dateUpdated, company, brandName, genericName, category, purchasePrice, sellingPrice, quantity, expiryDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
(dateUpdated, company, brandName, genericName, category, purchasePrice, sellingPrice, quantity, expiryDate))
conn.commit()
这是代码的其余部分:
app = QtGui.QApplication(sys.argv)
window = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
答
当你连接一个信号到一个槽,你必须通过它代表的插槽中,语法如下
sender.signal.connect(receiver.slot)
在你如果你必须改变:
self.buttonBox.accepted.connect(self.accept())
到:
self.buttonBox.accepted.connect(self.accept)
注意:当您传递PyQt插槽名称时,您可以调用它,但是如果您通过评估函数,则不可能这样做。
+1
非常感谢@eyllanesc! – lloydyu24
如果没有看到“C:/ Users/Lloyd/Desktop/Python Projects/stock/additem.py”,很难猜测。但可能没有这样的属性。 –
@ThomasKilian它已经被eyllanesc回答了。 – lloydyu24