[英]How to activate Key Press Event, in Pyqt5?
Here is my Code.这是我的代码。 I want to capture a pressed key and print it.我想捕获一个按下的键并打印它。 But Nothing will Happen, How to resolve it?但是什么都不会发生,如何解决? I Have two classes.我有两节课。 One is Create_Instance and another one is Main_Window.一个是 Create_Instance,另一个是 Main_Window。 In My code, I have Only Lable items to display.在我的代码中,我只有 Lable 项目要显示。 How to activate it?如何激活它?
Edited已编辑
import sys
from PyQt5.QtWidgets import *
class Create_Instance(QWidget):
def __init__(self,dict_item):
super().__init__()
self.dict_items = dict_item
self.lbl = QLabel("This is My Label")
self.vbox = QVBoxLayout()
self.vbox.addWidget(self.lbl)
self.setLayout(self.vbox)
def keyPressEvent(self, event):
print(event)
print(self.dict_items)
class Main_Window(QWidget):
def __init__(self):
super(). __init__()
self.setWindowTitle("Main Window")
self.layout_main = QHBoxLayout()
self.firstmenu_container = Create_Instance(dict_item="1")
self.secondmenu_container = Create_Instance(dict_item="2")
self.layout_main.addWidget(self.firstmenu_container)
self.layout_main.addWidget(self.secondmenu_container)
self.setLayout(self.layout_main)
def main():
app = QApplication(sys.argv)
ex = Main_Window()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
You must add the widget to the layout:您必须将小部件添加到布局中:
def __init__(self):
super().__init__()
self.setWindowTitle("Main Window")
self.layout_main = QHBoxLayout()
self.firstmenu_container = Create_Instance(dict_item="1")
self.layout_main.addWidget(self.firstmenu_container)
self.secondmenu_container = Create_Instance(dict_item="2")
self.layout_main.addWidget(self.secondmenu_container)
self.setLayout(self.layout_main)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.