【发布时间】:2020-02-28 06:49:30
【问题描述】:
我正在尝试使用 pad4pi 模块和基于 pyqt5 的 GUI 应用程序编写从 4x4 键盘(机械)输入的代码。
当我尝试单击按钮时,它可以正常工作,但是当我尝试生成某些事件时,我收到错误消息:
QObject::startTimer: Timers can only be used with threads started with QThread
class DigitalClock(QWidget,QThread):
def __init__(self):
super().__init__()
SetupKeyboard.keypad.registerKeyPressHandler(self.printKey)
self.setWindowTitle("OM SAI RAM")
self.showFullScreen()
#self.setCursor(Qt.BlankCursor)
button = QPushButton("Click", self)
button.clicked.connect(self.change)
button.move(10,10)
button.show()
def change(self):
self.newpage = Authentication_page()
self.close()
def printKey(self, key):
if key == 'A':
self.newpage = Authentication_page()
self.close()
class Authentication_page(QWidget):
"""
Class to validate authentication.
"""
def __init__(self):
super().__init__()
self.showFullScreen()
self.maindesign()
def maindesign(self):
"""Method to design main page"""
####Label###
self.admin_header = QLabel("Admin Panel", self)
self.admin_header.setStyleSheet("font-size:40px")
self.admin_header.move(130, 10)
self.admin_header.show()
当我点击按钮代码工作正常但当我按下机械按钮时,代码冻结并显示错误消息。
【问题讨论】:
标签: python python-3.x pyqt pyqt5 qthread