python - 类型错误:参数 1 具有意外类型“QPushButton”
问题描述
我写了这段代码:
import sys
import os
from PyQt5 import QtWidgets
class Notepad(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.yazi_alani = QtWidgets.QTextEdit()
self.temizle = QtWidgets.QPushButton("Temizle")
self.kaydet = QtWidgets.QPushButton("Kaydet")
self.dosya_ac = QtWidgets.QPushButton("Dosya Aç")
v_box = QtWidgets.QVBoxLayout()
v_box.addWidget(self.yazi_alani)
v_box.addWidget(self.temizle)
v_box.addWidget(self.kaydet)
v_box.addWidget(self.dosya_ac)
self.setLayout(v_box)
self.setWindowTitle("Barış'ın Notepad Programı")
self.setGeometry(200,200,800,600)
self.temizle.clicked.connect(self.temizle)
self.kaydet.clicked.connect(self.kaydet)
self.dosya_ac.clicked.connect(self.dosya_ac)
self.show()
def temizle(self):
self.yazi_alani.clear()
def kaydet(self):
dosya_ismi = QtWidgets.QFileDialog.getSaveFileName(self,"Dosya Kaydet",os.getenv("HOME"))
with open (dosya_ismi[0],"w",encoding="utf-8") as file:
file.write(self.yazi_alani.toPlainText())
def dosya_ac(self):
dosya_ismi = QtWidgets.QFileDialog(self, "Dosya Aç", os.getenv("HOME"))
with open(dosya_ismi[0],"r",encoding="utf-8") as file:
self.yazi_alani.setText(file.read())
应用程序 = QtWidgets.QApplication(sys.argv)
便士 = 记事本()
sys.exit(app.exec())
我收到了这个错误:
Traceback (most recent call last):
File "C:/Users/noikp/Desktop/PyQt5 projem.py", line 41, in <module>
pencere = Pencere()
File "C:/Users/noikp/Desktop/PyQt5 projem.py", line 8, in __init__
self.init_ui()
File "C:/Users/noikp/Desktop/PyQt5 projem.py", line 28, in init_ui
self.temizle.clicked.connect(self.temizle)
TypeError: argument 1 has unexpected type 'QPushButton'
我该如何解决这个错误?如果你能快速回答可能会很好......
pythonerrors python错误错误errorrr python3-x
解决方案
您应该重命名按钮或功能。你在这里有方法 Notepad.temizle() AND button Notepad.temizle 所以当你期望发送消息时,你发送一个按钮,它是 typeError 我也可以看到其他方法的相同错误
推荐阅读
- c - 指向三个不同链表的指针的问题
- angular - Angular - 使用模型中的计算属性
- android - 使用协程流程->收集时房间冻结
- c# - 调整列的大小在 wpf DataGrid 中不起作用
- ansible - 需要在 Ansible 中使用主机变量(ansible engine 2.8 & ansible tower 3.5)
- reactjs - 可以在 react-select (ReactJS) 上更改字体颜色吗?
- json - 如何在逻辑应用程序中使用 json 解析删除 json 元素?
- r - 用R中的向量列表替换小标题列表中的指定列
- javascript - 通过另一个数组(长度更短)订购关联 javascript 数组的最有效方法?
- anaconda - 在 Anaconda 或终端上打开 Jupyter Notebook 的区别