我用pyqt5程序制作了一个虚拟键盘,现在我有一个输入,并且按顺序有键盘1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j ........... 设 现在我希望键盘在每个突出显示的按钮都处于自动循环中 当输入被触发时,我想选择该按钮,然后再次循环以重新启动
我无法正常工作 请帮助我
我试图在python代码中循环并触发按钮的输入,然后我添加time.sleep(time)和输出比我在time.sleep中添加的时间晚了大约一秒钟,所有按钮的输出都在触发每个按钮的时间相同....
from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi
import sys
from matplotlib.backends.backend_qt5agg import ( NavigationToolbar2QT as NavigationToolbar )
import matplotlib.animation as animation
import matplotlib as plt
from matplotlib.figure import Figure
import numpy as np
import random
from lineEdit import QLabel
from time import sleep
n=200 #frames
interval=60
global init
init = ""
def autotype(button,output):
for i in button:
for j in output:
i.setStyleSheet("background-color: red")
i.clicked.connect(j)
sleep(0.5)
class MatplotlibWidget ( QMainWindow ):
def __init__ ( self ):
QMainWindow . __init__ ( self )
loadUi ( "qt_desginer.ui" , self )
self.setWindowTitle ( "Brain Input processer" )
#self . pushButton_generate_random_signal . clicked . connect ( self . update_graph )
self.update_graph()
self.addToolBar ( NavigationToolbar(self.MplWidget.canvas,self))
self.button_1n = 1
self.button_2n = 2
self.button_3n = 3
self.button_4n = 4
self.button_5n = 5
button = [ self.button_1,self.button_2,self.button_3,self.button_4,self.button_5 ]
output = [ self.button_click1,self.button_click2,self.button_click3,self.button_click4,self.button_click5]
for x in button:
x.clicked.connect(lambda: autotype(button,output))
def keyboardinput(self,output):
a = output
global init
concat = init + a
self.QLabel.setText(concat)
init = concat
def keyboardinputclear(self):
self.QLabel.clear()
def button_click1(self):
self.keyboardinput(str(self.button_1n))
#self.QLabel.setText(str(self.button_1n))
def button_click2(self):
self.keyboardinput(str(self.button_2n))
#self.QLabel.setText(str(self.button_2n))
def button_click3(self):
self.keyboardinput(str(self.button_3n))
#self.QLabel.setText(str(self.button_3n))
def button_click4(self):
self.keyboardinput(str(self.button_4n))
#self.QLabel.setText(str(self.button_4n))
def button_click5(self):
self.keyboardinput(str(self.button_5n))
#self.QLabel.setText(str(self.button_5n))
app = QApplication ([])
window = MatplotlibWidget ()
window . show ()
app . exec_ ()
我希望每个突出显示的按钮都能自动进入键盘循环 当输入被触发时,我想选择该按钮,然后再次循环以重新启动