python - Pyqt 检查信号正在发出
问题描述
在我的pyqt
应用程序中,一旦按下特定键,我就会发出不同的信号,例如:
def keyPressEvent(self, event):
"""
keyboard events that enable actions
. starts single correction mode
m stats multiple correction mode
\ starts zeroing
ESC stops any action
s starts suggestion mode
n starts neutralisation mode
:param event: keyboard event
:return:
"""
if event.key() == Qt.Key_Period:
logger.log(5, "{} has been pressed".format(event.text()))
self.single_correction.emit() # single correction mode
if event.key() == Qt.Key_M:
logger.log(5, "{} has been pressed".format(event.text()))
self.multiple_correction.emit() # multiple correction mode
if event.key() == Qt.Key_S: # m key
logger.log(5, " {} has been pressed".format(event.text()))
self.suggested_correction.emit() # suggestion mode
if event.key() == Qt.Key_N:
logger.log(5, " {} has been pressed".format(event.text()))
self.neutralisation_mode.emit() # neutralisation mode
if event.key() == Qt.Key_Backslash:
logger.log(5, " {} has been pressed".format(event.text()))
self.zeroing.emit() # zeroing
if event.key() == Qt.Key_Return:
logger.log(5, " {} has been pressed".format(event.text()))
self.unzeroing.emit() # unzeroring
if event.key() == Qt.Key_Escape: # esc key
logger.log(5, " {} has been pressed".format(event.text()))
self.stop.emit() #stop
然后我有另一个函数将每个信号连接到一个动作
def create_connections(self):
"""
function that handles connections
when a signal is emitted it connects to the appropriate action
:return:
"""
self.lineEdit_mancorr.signal_evoke_kb.connect(self.show_kb)
self.single_correction.connect(self.singlecorrection)
self.multiple_correction.connect(self.multiplecorrection)
self.zeroing.connect(self.zeroingcorrection)
self.unzeroing.connect(self.unzeroingcorrection)
self.stop.connect(self.stopcorrection)
self.neutralisation_mode.connect(self.neutralisatecorrections)
self.suggested_correction.connect(self.suggestcorrection)
我想了解是否有一种方法可以检查 if 语句是否已发出信号。
解决方案
推荐阅读
- c# - LINQ-to-XML 中的 C# 反序列化
- ios - NSPredicate 返回日期字段中所有具有相同月份的匹配项
- mysql - 数据类型为 FLOAT 的字段中有额外的零
- python - 如何从 Python 脚本列出 Mac 上所有打开的窗口?
- react-native - 如何让 Android 中的 FlatList 像 iOS 中一样弹跳?
- sql - 受信任的装配位置
- python - ImportError:无法导入名称“google”
- python - 如何从 Python 脚本列出 Gnu/Linux 上所有打开的 (X11) 窗口?
- jmeter - 如何在 jmeter 中获得 60 hit/s 的速率?
- python - 从 webhook 事件 invoice.payment_succeeded 解析 Stripe 数据