2016-03-23 3 views
1

いくつかの機能を持つウィンドウを作成するPyQtスクリプト(端末にpyuic5で作成)があります。この作品とスクリプトは以下の通りです:pyQtファイルがリンクされていません

from PyQt5 import QtCore, QtGui, QtWidgets 
from Main import Ui_Main 
from resources.icons import * 
import sys 


class MainW(QtWidgets.QMainWindow): 
    def __init__(self, parent=None): 
     super(MainW, self).__init__(parent) #pyQt5 
     self.ui = Ui_Main() 
     self.ui.setupUi(self) 
     self.ui.setupUi 
     self.ui.retranslateUi(self) 

     # self.ui.setWindowIcon(QtWidgets.QIcon('MeasLogoSm.png')) 
     # self.ui.setWindowTitle("Meas Sound Measurement Tool") 

     self.ui.progressBar.setProperty("value", 1) 

     # measExit = self.ui.menuJBae_Meas.addAction(self.ui.actionExit) 
     # measExit.triggered.connect(self.Exit) 


    def Exit(self): 
     choice = QtGui.QMessageBox.question(self, 'Exit Meas', 
        "Are You sure to Leave Meas?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 
     if choice == QtGui.QMessageBox.Yes: 
      sys.exit() 
     else: 
      pass 

if __name__ == "__main__": 
    app = QtWidgets.QApplication(sys.argv) 
    mainapp = MainW() 
    mainapp.show() 
    sys.exit(app.exec_()) 

これ以降問題が発生します。私はいくつかの機能を作りたい。私はメニューの終了機能から始めました。
終了スクリプトをスクリプトにリンクさせることができません。標準ファイルにはすべてのサブオブジェクトが関連しているオブジェクトmainがあるため、このファイルが作成されると思います。 私はどのように私はこの2番目のスクリプトはmainからオブジェクトを使用することができます取得

from PyQt5 import QtCore, QtGui, QtWidgets 

class Ui_Main(object): 
    def setupUi(self, Main): 
     Main.setObjectName("Main") 
     Main.resize(885, 600) 
     sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) 
     sizePolicy.setHorizontalStretch(0) 
     sizePolicy.setVerticalStretch(0) 
     sizePolicy.setHeightForWidth(Main.sizePolicy().hasHeightForWidth()) 
     Main.setSizePolicy(sizePolicy) 
     Main.setStyleSheet("font: 9pt \"SansSerif\";") 
     self.Central = QtWidgets.QWidget(Main) 
     self.Central.setObjectName("Central") 
     self.Logo = QtWidgets.QGraphicsView(self.Central) 
     self.Logo.setGeometry(QtCore.QRect(10, 10, 240, 121)) 
     self.Logo.setMinimumSize(QtCore.QSize(240, 120)) 
     self.Logo.setMaximumSize(QtCore.QSize(16777215, 350)) 
     self.Logo.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedKingdom)) 
     self.Logo.setFrameShadow(QtWidgets.QFrame.Raised) 
     self.Logo.setObjectName("Logo") 
     self.test = QtWidgets.QToolButton(self.Central) 
     self.test.setGeometry(QtCore.QRect(10, 520, 80, 23)) 
     self.test.setObjectName("test") 
     self.start = QtWidgets.QToolButton(self.Central) 
     self.start.setGeometry(QtCore.QRect(110, 520, 131, 23)) 
     self.start.setObjectName("start") 
     self.layoutWidget = QtWidgets.QWidget(self.Central) 
     self.layoutWidget.setGeometry(QtCore.QRect(260, 520, 521, 27)) 
     self.layoutWidget.setObjectName("layoutWidget") 
     self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget) 
     self.horizontalLayout.setContentsMargins(0, 0, 0, 0) 
     self.horizontalLayout.setObjectName("horizontalLayout") 
     self.progressBar = QtWidgets.QProgressBar(self.layoutWidget) 
     self.progressBar.setProperty("value", 24) 
     self.progressBar.setObjectName("progressBar") 
     self.horizontalLayout.addWidget(self.progressBar) 
     self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.layoutWidget) 
     self.dateTimeEdit.setObjectName("dateTimeEdit") 
     self.horizontalLayout.addWidget(self.dateTimeEdit) 
     self.plotTop = QtWidgets.QGraphicsView(self.Central) 
     self.plotTop.setGeometry(QtCore.QRect(260, 10, 521, 240)) 
     self.plotTop.setMinimumSize(QtCore.QSize(0, 240)) 
     self.plotTop.setFrameShape(QtWidgets.QFrame.StyledPanel) 
     self.plotTop.setFrameShadow(QtWidgets.QFrame.Sunken) 
     self.plotTop.setObjectName("plotTop") 
     self.PlotBottom = QtWidgets.QGraphicsView(self.Central) 
     self.PlotBottom.setGeometry(QtCore.QRect(260, 260, 521, 240)) 
     self.PlotBottom.setMinimumSize(QtCore.QSize(0, 240)) 
     self.PlotBottom.setObjectName("PlotBottom") 
     self.layoutWidget1 = QtWidgets.QWidget(self.Central) 
     self.layoutWidget1.setGeometry(QtCore.QRect(800, 10, 28, 231)) 
     self.layoutWidget1.setObjectName("layoutWidget1") 
     self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget1) 
     self.verticalLayout.setContentsMargins(0, 0, 0, 0) 
     self.verticalLayout.setObjectName("verticalLayout") 
     spacerItem = QtWidgets.QSpacerItem(20, 180, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) 
     self.verticalLayout.addItem(spacerItem) 
     self.ViewPropTop = QtWidgets.QToolButton(self.layoutWidget1) 
     self.ViewPropTop.setObjectName("ViewPropTop") 
     self.verticalLayout.addWidget(self.ViewPropTop) 
     self.zoomTop = QtWidgets.QToolButton(self.layoutWidget1) 
     self.zoomTop.setObjectName("zoomTop") 
     self.verticalLayout.addWidget(self.zoomTop) 
     self.toolTop = QtWidgets.QToolButton(self.layoutWidget1) 
     self.toolTop.setObjectName("toolTop") 
     self.verticalLayout.addWidget(self.toolTop) 
     self.layoutWidget2 = QtWidgets.QWidget(self.Central) 
     self.layoutWidget2.setGeometry(QtCore.QRect(800, 260, 28, 231)) 
     self.layoutWidget2.setObjectName("layoutWidget2") 
     self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget2) 
     self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) 
     self.verticalLayout_2.setObjectName("verticalLayout_2") 
     spacerItem1 = QtWidgets.QSpacerItem(20, 180, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) 
     self.verticalLayout_2.addItem(spacerItem1) 
     self.ViewPropBBottom = QtWidgets.QToolButton(self.layoutWidget2) 
     self.ViewPropBBottom.setObjectName("ViewPropBBottom") 
     self.verticalLayout_2.addWidget(self.ViewPropBBottom) 
     self.ZoomBottom = QtWidgets.QToolButton(self.layoutWidget2) 
     self.ZoomBottom.setObjectName("ZoomBottom") 
     self.verticalLayout_2.addWidget(self.ZoomBottom) 
     self.toolBottom = QtWidgets.QToolButton(self.layoutWidget2) 
     icon = QtGui.QIcon() 
     icon.addPixmap(QtGui.QPixmap("../resources/icons/WrenchSm.png"), QtGui.QIcon.Normal, QtGui.QIcon.On) 
     self.toolBottom.setIcon(icon) 
     self.toolBottom.setObjectName("toolBottom") 
     self.verticalLayout_2.addWidget(self.toolBottom) 
     self.layoutWidget3 = QtWidgets.QWidget(self.Central) 
     self.layoutWidget3.setGeometry(QtCore.QRect(10, 170, 231, 271)) 
     self.layoutWidget3.setObjectName("layoutWidget3") 
     self.gridLayout_3 = QtWidgets.QGridLayout(self.layoutWidget3) 
     self.gridLayout_3.setContentsMargins(0, 0, 0, 0) 
     self.gridLayout_3.setObjectName("gridLayout_3") 
     self.verticalLayout_3 = QtWidgets.QVBoxLayout() 
     self.verticalLayout_3.setObjectName("verticalLayout_3") 
     self.TypeLab = QtWidgets.QLabel(self.layoutWidget3) 
     self.TypeLab.setObjectName("TypeLab") 
     self.verticalLayout_3.addWidget(self.TypeLab) 
     self.TypeSel = QtWidgets.QComboBox(self.layoutWidget3) 
     self.TypeSel.setMinimumSize(QtCore.QSize(140, 0)) 
     self.TypeSel.setStatusTip("") 
     self.TypeSel.setObjectName("TypeSel") 
     self.verticalLayout_3.addWidget(self.TypeSel) 
     self.gridLayout_3.addLayout(self.verticalLayout_3, 0, 0, 2, 1) 
     self.label = QtWidgets.QLabel(self.layoutWidget3) 
     self.label.setObjectName("label") 
     self.gridLayout_3.addWidget(self.label, 0, 1, 1, 1) 
     self.Level = QtWidgets.QDial(self.layoutWidget3) 
     sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) 
     sizePolicy.setHorizontalStretch(0) 
     sizePolicy.setVerticalStretch(0) 
     sizePolicy.setHeightForWidth(self.Level.sizePolicy().hasHeightForWidth()) 
     self.Level.setSizePolicy(sizePolicy) 
     self.Level.setMinimumSize(QtCore.QSize(75, 75)) 
     self.Level.setStatusTip("") 
     self.Level.setAccessibleDescription("") 
     self.Level.setObjectName("Level") 
     self.gridLayout_3.addWidget(self.Level, 1, 1, 2, 1) 
     self.verticalLayout_4 = QtWidgets.QVBoxLayout() 
     self.verticalLayout_4.setObjectName("verticalLayout_4") 
     self.lengthLab = QtWidgets.QLabel(self.layoutWidget3) 
     self.lengthLab.setObjectName("lengthLab") 
     self.verticalLayout_4.addWidget(self.lengthLab) 
     self.length = QtWidgets.QComboBox(self.layoutWidget3) 
     self.length.setMinimumSize(QtCore.QSize(140, 0)) 
     self.length.setObjectName("length") 
     self.verticalLayout_4.addWidget(self.length) 
     self.gridLayout_3.addLayout(self.verticalLayout_4, 2, 0, 1, 1) 
     self.verticalLayout_5 = QtWidgets.QVBoxLayout() 
     self.verticalLayout_5.setObjectName("verticalLayout_5") 
     self.itterationsLab = QtWidgets.QLabel(self.layoutWidget3) 
     self.itterationsLab.setObjectName("itterationsLab") 
     self.verticalLayout_5.addWidget(self.itterationsLab) 
     self.Itterations = QtWidgets.QComboBox(self.layoutWidget3) 
     self.Itterations.setMinimumSize(QtCore.QSize(140, 0)) 
     self.Itterations.setAccessibleDescription("") 
     self.Itterations.setObjectName("Itterations") 
     self.verticalLayout_5.addWidget(self.Itterations) 
     self.gridLayout_3.addLayout(self.verticalLayout_5, 3, 0, 1, 1) 
     self.gridLayout = QtWidgets.QGridLayout() 
     self.gridLayout.setObjectName("gridLayout") 
     self.startLab = QtWidgets.QLabel(self.layoutWidget3) 
     self.startLab.setObjectName("startLab") 
     self.gridLayout.addWidget(self.startLab, 0, 0, 1, 1) 
     self.startSlid = QtWidgets.QSlider(self.layoutWidget3) 
     sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) 
     sizePolicy.setHorizontalStretch(0) 
     sizePolicy.setVerticalStretch(0) 
     sizePolicy.setHeightForWidth(self.startSlid.sizePolicy().hasHeightForWidth()) 
     self.startSlid.setSizePolicy(sizePolicy) 
     self.startSlid.setMinimumSize(QtCore.QSize(140, 0)) 
     self.startSlid.setMaximum(100000) 
     self.startSlid.setOrientation(QtCore.Qt.Horizontal) 
     self.startSlid.setObjectName("startSlid") 
     self.gridLayout.addWidget(self.startSlid, 1, 0, 1, 1) 
     self.startSpin = QtWidgets.QDoubleSpinBox(self.layoutWidget3) 
     self.startSpin.setMinimumSize(QtCore.QSize(65, 0)) 
     self.startSpin.setDecimals(0) 
     self.startSpin.setMaximum(100000.0) 
     self.startSpin.setProperty("value", 1.0) 
     self.startSpin.setObjectName("startSpin") 
     self.gridLayout.addWidget(self.startSpin, 1, 1, 1, 1) 
     self.gridLayout_3.addLayout(self.gridLayout, 4, 0, 1, 2) 
     self.gridLayout_2 = QtWidgets.QGridLayout() 
     self.gridLayout_2.setObjectName("gridLayout_2") 
     self.endLab = QtWidgets.QLabel(self.layoutWidget3) 
     self.endLab.setObjectName("endLab") 
     self.gridLayout_2.addWidget(self.endLab, 0, 0, 1, 1) 
     self.endSlid = QtWidgets.QSlider(self.layoutWidget3) 
     sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) 
     sizePolicy.setHorizontalStretch(0) 
     sizePolicy.setVerticalStretch(0) 
     sizePolicy.setHeightForWidth(self.endSlid.sizePolicy().hasHeightForWidth()) 
     self.endSlid.setSizePolicy(sizePolicy) 
     self.endSlid.setMinimumSize(QtCore.QSize(140, 0)) 
     self.endSlid.setMaximum(100000) 
     self.endSlid.setOrientation(QtCore.Qt.Horizontal) 
     self.endSlid.setObjectName("endSlid") 
     self.gridLayout_2.addWidget(self.endSlid, 1, 0, 1, 1) 
     self.endSpin = QtWidgets.QDoubleSpinBox(self.layoutWidget3) 
     self.endSpin.setMinimumSize(QtCore.QSize(65, 0)) 
     self.endSpin.setDecimals(0) 
     self.endSpin.setMaximum(100000.0) 
     self.endSpin.setProperty("value", 100000.0) 
     self.endSpin.setObjectName("endSpin") 
     self.gridLayout_2.addWidget(self.endSpin, 1, 1, 1, 1) 
     self.gridLayout_3.addLayout(self.gridLayout_2, 5, 0, 1, 2) 
     self.layoutWidget.raise_() 
     self.Logo.raise_() 
     self.test.raise_() 
     self.start.raise_() 
     self.plotTop.raise_() 
     self.layoutWidget.raise_() 
     self.PlotBottom.raise_() 
     self.layoutWidget.raise_() 
     self.layoutWidget.raise_() 
     Main.setCentralWidget(self.Central) 
     self.menubar = QtWidgets.QMenuBar(Main) 
     self.menubar.setGeometry(QtCore.QRect(0, 0, 885, 20)) 
     self.menubar.setObjectName("menubar") 
     self.menuJBae_Meas = QtWidgets.QMenu(self.menubar) 
     self.menuJBae_Meas.setObjectName("menuJBae_Meas") 
     self.menuEdit = QtWidgets.QMenu(self.menubar) 
     self.menuEdit.setObjectName("menuEdit") 
     Main.setMenuBar(self.menubar) 
     self.statusbar = QtWidgets.QStatusBar(Main) 
     self.statusbar.setObjectName("statusbar") 
     Main.setStatusBar(self.statusbar) 
     self.actionExit = QtWidgets.QAction(Main) 
     self.actionExit.setEnabled(True) 
     self.actionExit.setObjectName("actionExit") 
     self.actionSave = QtWidgets.QAction(Main) 
     self.actionSave.setObjectName("actionSave") 
     self.actionSave_All = QtWidgets.QAction(Main) 
     self.actionSave_All.setObjectName("actionSave_All") 
     self.actionPreferences = QtWidgets.QAction(Main) 
     self.actionPreferences.setObjectName("actionPreferences") 
     self.actionSave_As = QtWidgets.QAction(Main) 
     self.actionSave_As.setObjectName("actionSave_As") 
     self.actionDelete_Measurement = QtWidgets.QAction(Main) 
     self.actionDelete_Measurement.setObjectName("actionDelete_Measurement") 
     self.actionOpen = QtWidgets.QAction(Main) 
     self.actionOpen.setObjectName("actionOpen") 
     self.actionNew = QtWidgets.QAction(Main) 
     self.actionNew.setObjectName("actionNew") 
     self.menuJBae_Meas.addAction(self.actionNew) 
     self.menuJBae_Meas.addAction(self.actionOpen) 
     self.menuJBae_Meas.addAction(self.actionSave) 
     self.menuJBae_Meas.addAction(self.actionSave_As) 
     self.menuJBae_Meas.addAction(self.actionSave_All) 
     self.menuJBae_Meas.addSeparator() 
     self.menuJBae_Meas.addAction(self.actionPreferences) 
     self.menuJBae_Meas.addAction(self.actionExit) 
     self.menuEdit.addAction(self.actionDelete_Measurement) 
     self.menubar.addAction(self.menuJBae_Meas.menuAction()) 
     self.menubar.addAction(self.menuEdit.menuAction()) 

     self.retranslateUi(Main) 
     QtCore.QMetaObject.connectSlotsByName(Main) 
     Main.setTabOrder(self.TypeSel, self.length) 
     Main.setTabOrder(self.length, self.Itterations) 
     Main.setTabOrder(self.Itterations, self.startSlid) 
     Main.setTabOrder(self.startSlid, self.startSpin) 
     Main.setTabOrder(self.startSpin, self.endSlid) 
     Main.setTabOrder(self.endSlid, self.endSpin) 
     Main.setTabOrder(self.endSpin, self.Level) 
     Main.setTabOrder(self.Level, self.start) 
     Main.setTabOrder(self.start, self.test) 
     Main.setTabOrder(self.test, self.ViewPropTop) 
     Main.setTabOrder(self.ViewPropTop, self.zoomTop) 
     Main.setTabOrder(self.zoomTop, self.toolTop) 
     Main.setTabOrder(self.toolTop, self.ViewPropBBottom) 
     Main.setTabOrder(self.ViewPropBBottom, self.ZoomBottom) 
     Main.setTabOrder(self.ZoomBottom, self.toolBottom) 
     Main.setTabOrder(self.toolBottom, self.plotTop) 
     Main.setTabOrder(self.plotTop, self.PlotBottom) 
     Main.setTabOrder(self.PlotBottom, self.dateTimeEdit) 
     Main.setTabOrder(self.dateTimeEdit, self.Logo) 

    def retranslateUi(self, Main): 
     _translate = QtCore.QCoreApplication.translate 
     Main.setWindowTitle(_translate("Main", "Main")) 
     self.test.setToolTip(_translate("Main", "Open Menu Test Signal")) 
     self.test.setText(_translate("Main", "Test")) 
     self.start.setToolTip(_translate("Main", "Start Measurement")) 
     self.start.setText(_translate("Main", "Start")) 
     self.ViewPropTop.setText(_translate("Main", "...")) 
     self.zoomTop.setText(_translate("Main", "...")) 
     self.toolTop.setText(_translate("Main", "...")) 
     self.ViewPropBBottom.setText(_translate("Main", "...")) 
     self.ZoomBottom.setText(_translate("Main", "...")) 
     self.toolBottom.setText(_translate("Main", "...")) 
     self.TypeLab.setText(_translate("Main", "Type")) 
     self.TypeSel.setToolTip(_translate("Main", "Select Signal Type")) 
     self.label.setText(_translate("Main", "Level")) 
     self.Level.setToolTip(_translate("Main", "Set Volume Level")) 
     self.lengthLab.setText(_translate("Main", "Length")) 
     self.length.setToolTip(_translate("Main", "Select Length of Signal in k samples")) 
     self.itterationsLab.setText(_translate("Main", "Itterations")) 
     self.Itterations.setToolTip(_translate("Main", "Select number of itterations")) 
     self.startLab.setText(_translate("Main", "Start")) 
     self.startSlid.setToolTip(_translate("Main", "Select Start Frequency")) 
     self.startSpin.setToolTip(_translate("Main", "Set Start Frequency")) 
     self.endLab.setText(_translate("Main", "End")) 
     self.endSlid.setToolTip(_translate("Main", "Select End Frequency")) 
     self.endSpin.setToolTip(_translate("Main", "Set End Frequency")) 
     self.menuJBae_Meas.setTitle(_translate("Main", "&File")) 
     self.menuEdit.setTitle(_translate("Main", "Edit")) 
     self.actionExit.setText(_translate("Main", "&Quit")) 
     self.actionExit.setIconText(_translate("Main", "Quit")) 
     self.actionExit.setToolTip(_translate("Main", "Exit Meas")) 
     self.actionExit.setShortcut(_translate("Main", "Ctrl+Q")) 
     self.actionSave.setText(_translate("Main", "&Save")) 
     self.actionSave.setIconText(_translate("Main", "&Save")) 
     self.actionSave.setToolTip(_translate("Main", "Save Measurements")) 
     self.actionSave.setShortcut(_translate("Main", "Ctrl+S")) 
     self.actionSave_All.setText(_translate("Main", "Save All")) 
     self.actionSave_All.setToolTip(_translate("Main", "Save All Measurements")) 
     self.actionSave_All.setShortcut(_translate("Main", "Ctrl+Shift+S")) 
     self.actionPreferences.setText(_translate("Main", "&Preferences")) 
     self.actionPreferences.setIconText(_translate("Main", "&Preferences")) 
     self.actionPreferences.setToolTip(_translate("Main", "Preferences Meas")) 
     self.actionPreferences.setShortcut(_translate("Main", "Ctrl+I")) 
     self.actionSave_As.setText(_translate("Main", "Save As")) 
     self.actionSave_As.setToolTip(_translate("Main", "Save Measurements As")) 
     self.actionDelete_Measurement.setText(_translate("Main", "Delete Measurement")) 
     self.actionOpen.setText(_translate("Main", "&Open")) 
     self.actionOpen.setIconText(_translate("Main", "&Open")) 
     self.actionOpen.setShortcut(_translate("Main", "Ctrl+O")) 
     self.actionNew.setText(_translate("Main", "&New")) 
     self.actionNew.setIconText(_translate("Main", "&New")) 
     self.actionNew.setShortcut(_translate("Main", "Ctrl+N")) 


if __name__ == "__main__": 
    import sys 
    app = QtWidgets.QApplication(sys.argv) 
    Main = QtWidgets.QMainWindow() 
    ui = Ui_Main() 
    ui.setupUi(Main) 
    Main.show() 
    sys.exit(app.exec_()) 

(下記スクリプト)私はpyuic5から標準のスクリプトで私のスクリプト(今すぐ上位1)を関連付けることができる方法を見つけ出すことはできませんか?

+0

あなたの質問のコードは有効なpythonコードではありません。構文エラーがあり、セクションが削除されています。問題を再現するのに必要なコードを**すべて**掲載し、正常に動作することを確認してください。 – ekhumoro

+1

これは有効なコードでなければなりません –

答えて

0

Qt Designerに追加されたすべてのウィジェットは、単純な名前空間であるself.uiに割り当てられたオブジェクトの属性になります。だから、actionExitにアクセスし、このように、スロットに接続することができます:

class MainW(QtWidgets.QMainWindow): 
    def __init__(self, parent=None): 
     super(MainW, self).__init__(parent) 
     self.ui = Ui_Main() 
     self.ui.setupUi(self) 

     # self.ui.setWindowIcon(QtWidgets.QIcon('MeasLogoSm.png')) 
     # self.ui.setWindowTitle("Meas Sound Measurement Tool") 

     self.ui.progressBar.setProperty("value", 1) 

     self.ui.actionExit.triggered.connect(self.Exit) 

をしかしExit方法は多少の誤差があることに注意して、その代わりに次のようになります。

def Exit(self): 
     choice = QtWidgets.QMessageBox.question(self, 'Exit Meas', 
        "Are You sure to Leave Meas?", 
        QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) 
     if choice == QtWidgets.QMessageBox.Yes: 
      self.close() 

あなたがしたい場合はこれで、すべてのWIDを

class MainW(QtWidgets.QMainWindow, Ui_Main): 
    def __init__(self, parent=None): 
     super(MainW, self).__init__(parent) 
     self.setupUi(self) 

     # self.setWindowIcon(QtWidgets.QIcon('MeasLogoSm.png')) 
     # self.setWindowTitle("Meas Sound Measurement Tool") 

     self.progressBar.setProperty("value", 1) 

     self.actionExit.triggered.connect(self.Exit) 

self.uiすべての時間を入力する必要がなくなり、あなたはマルチ継承のアプローチを使用して、物事を少し簡略化することができますQt Designerで追加されるのは、MainWオブジェクトの直接の属性です。

+0

'self.close()'が 'sys.exit()'より優れている理由を説明できますか? –

+0

pyqtでは、 'sys.exit(app.exec _())'でアプリケーションを起動し、 'close()'または 'quit()'で停止するのはちょっと慣れています。しかし、あなたの 'Exit'メソッドの本当のエラーは' QtWidgets'ではなく 'QtGui'を使っていたことでした。 – ekhumoro

+0

今すぐチェックあなたは何をしましたか?初めて見逃してしまいました!! –

関連する問題