# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import iconresource
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(770, 630)
font = QtGui.QFont()
font.setPointSize(4)
MainWindow.setFont(font)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.tableView = QtGui.QTableView(self.centralwidget)
self.tableView.setGeometry(QtCore.QRect(30, 30, 361, 371))
self.tableView.setObjectName(_fromUtf8("tableView"))
self.plainTextEdit = QtGui.QPlainTextEdit(self.centralwidget)
self.plainTextEdit.setGeometry(QtCore.QRect(420, 30, 321, 371))
self.plainTextEdit.setObjectName(_fromUtf8("plainTextEdit"))
self.textBrowser = QtGui.QTextBrowser(self.centralwidget)
self.textBrowser.setGeometry(QtCore.QRect(30, 430, 361, 131))
self.textBrowser.setObjectName(_fromUtf8("textBrowser"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(460, 450, 241, 91))
font = QtGui.QFont()
font.setFamily(_fromUtf8("Arial"))
font.setPointSize(17)
font.setBold(True)
font.setWeight(75)
self.pushButton.setFont(font)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/icon/computer.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton.setIcon(icon)
self.pushButton.setIconSize(QtCore.QSize(60, 60))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtGui.QToolBar(MainWindow)
self.toolBar.setObjectName(_fromUtf8("toolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.actionConnect = QtGui.QAction(MainWindow)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/icon/display.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionConnect.setIcon(icon1)
self.actionConnect.setObjectName(_fromUtf8("actionConnect"))
self.actionImport = QtGui.QAction(MainWindow)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/icon/folder-open.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionImport.setIcon(icon2)
self.actionImport.setObjectName(_fromUtf8("actionImport"))
self.actionExport = QtGui.QAction(MainWindow)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/icon/save.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionExport.setIcon(icon3)
self.actionExport.setObjectName(_fromUtf8("actionExport"))
self.actionExit = QtGui.QAction(MainWindow)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/icon/icon/cancel.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionExit.setIcon(icon4)
self.actionExit.setObjectName(_fromUtf8("actionExit"))
self.actionExit.triggered.connect(self.programExit)
self.toolBar.addAction(self.actionConnect)
self.toolBar.addAction(self.actionImport)
self.toolBar.addAction(self.actionExport)
self.toolBar.addAction(self.actionExit)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "AVMT Log Connecter", None))
self.pushButton.setText(_translate("MainWindow", "START", None))
self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None))
self.actionConnect.setText(_translate("MainWindow", "Connect", None))
self.actionImport.setText(_translate("MainWindow", "Import", None))
self.actionExport.setText(_translate("MainWindow", "Export", None))
self.actionExit.setText(_translate("MainWindow", "Exit", None))
def programExit(self):
quit_msg = "Are you sure you want to exit the program?"
reply = QtGui.QMessageBox.question(self, 'Message', quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
sys.exit()
else:
pass
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
I want to actionExit -> programExit() but this code is not working Error : TypeError: arguments did not match any overloaded call please solve this problem
答案 0 :(得分:0)
嗯,错误信息仍在继续:
...
QMessageBox.question(QWidget, QString, QString, QMessageBox.StandardButtons
buttons=QMessageBox.Ok, QMessageBox.StandardButton defaultButton=QMessageBox.NoButton):
argument 1 has unexpected type 'Ui_MainWindow'
...
您的self
不是QWidget
,而是Ui_MainWindow
。将self
更改为self.centralwidget
,它应该有效。
def programExit(self):
quit_msg = "Are you sure you want to exit the program?"
reply = QtGui.QMessageBox.question(self.centralwidget, 'Message', quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
sys.exit()
else:
pass