0
おはようございます! I`mは、すぐ下の例をコーディングしながら、ので、いくつかのトラブルに会ったpyQt5とPythonでのQt Designerのを使用して開始します。アプリケーション内のボタンなどに関係なく、のkeyPressEventを使用することです。つまり、「終了」ボタンをクリックすることです。 2つのファイルがあります:1つはデザイナーによって生成され、もう1つはkeyPressEventです。 フォームが開いていますが、何も起こっていません。Escバット。 あなたの股を楽しみにしています! ありがとうございます。PyQt 5 keyPressEventはApp Qtデザイナーを終了するために働いていません
ui_main.py
from PyQt5 import QtCore, QtWidgets
from PyQt5 import QtQuickWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(MainWindow)
self.gridLayout.setObjectName("gridLayout")
self.bigWindow = QtQuickWidgets.QQuickWidget(MainWindow)
self.bigWindow.setResizeMode(QtQuickWidgets.QQuickWidget.SizeRootObjectToView)
self.bigWindow.setObjectName("bigWindow")
self.gridLayout.addWidget(self.bigWindow, 0, 0, 1, 1)
self.dateTimeEdit = QtWidgets.QDateTimeEdit(MainWindow)
self.dateTimeEdit.setObjectName("dateTimeEdit")
self.gridLayout.addWidget(self.dateTimeEdit, 1, 0, 1, 1)
self.progressBar = QtWidgets.QProgressBar(MainWindow)
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName("progressBar")
self.gridLayout.addWidget(self.progressBar, 2, 0, 1, 1)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Dialog"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QDialog()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
py_main.py
import sys
from PyQt5.QtWidgets import QDialog, QApplication
from PyQt5.QtCore import Qt
from ui_main import Ui_MainWindow
class MyMainWindow(QDialog, Ui_MainWindow):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.show()
self.setupUi(self)
def keyPressEvent(self, event):
if event.key() == Qt.Key_Escape:
self.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MyMainWindow()
sys.exit(app.exec_())
は、ヘルプ友人、幸運:) – Michael
@Michaelいただきありがとうございます。 – eyllanesc
問題なし、完了 – Michael