2017-06-15 125 views
0
# -*- 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_()) 

我想actionExit - > programExit(),但是这个代码不工作 错误:类型错误:参数不匹配任何重载呼叫 请解决这个问题的PyQt的QAction连接到退出弹出

+0

考虑[如何创建一个最小的,完整的,并且可验证的示例](https://stackoverflow.com/help/mcve),代码中引发了以下错误:'导入错误:没有模块名为iconresource'。 – Matho

+0

即外部图标py文件。除了那个和重试 –

回答

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