类型错误:参数1具有意外的类型“QPushButton”

2024-09-28 21:18:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了以下代码:

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())

app=qtwidts.QApplication(sys.argv)

pencere=记事本()

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'

如何解决此错误? 如果你回答得快一点可能会很好

Python python 错误 错误 errorr Python3-x


Tags: selfboxuiinitdefacpyqt5yazi
1条回答
网友
1楼 · 发布于 2024-09-28 21:18:01

您应该重命名按钮或函数。 这里有方法Notepad.temizle()和按钮Notepad.temizle 因此,当您希望发送消息时,您会发送一个按钮,这就是typeError 我还可以看到其他方法也有同样的错误

相关问题 更多 >