秒表的使用方法!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了秒表的使用方法!相关的知识,希望对你有一定的参考价值。
秒表的使用方法
若使用的是vivo手机,打开手机“闹钟时钟”软件--秒表--点击“”即可开始计时,点击“‖”停止计时会暂停,再点击“”会继续累计计时;计时过程中可点击计次,依次记录当前计次时间;计时停止后可点击复位重置。 参考技术A使用时,用拇指指关节或用食指第二指关节扣住按键,并将秒表靠住自己的胸部,不在任何的摆臂动作中完成按键。
按表时不要用力过猛,以防损坏机件;回表后,如秒针不指零,应记下其数值(零点读数),试验后从测量值中将其减去(注意符号);按键时尽量用正确的角度和适合的力量,不要按在按钮的边缘或斜角度按,避免卡住或损坏按钮。
计时开启后不要将秒表挂在脖子上或放在口袋内跑动,防止跑的过程中秒表按键与身体相撞,造成意外的停止或开启。
扩展资料
秒表主要有机械和电子两大类,电子表又可分为三按键和四按键两大类。绝大部分体育教师使用的多是电子秒表,机械秒表在很多地方已经成为历史。电子秒表是一种较先进的电子计时器,国产的电子秒一般都是利用石英振荡器的振荡频率作为时间基准,采用6位液晶数字显示时间,具有显示直观、读取方便、功能多等优点。
保持电池的定期更换,一般在显示变暗时即可更换,不要等电子秒表的电池耗尽再更换。电子秒表平时放置的环境要干燥、安全,做到防潮、防震、防腐蚀、防火等工作。避免在电子秒表上放置物品。没有把握的情况下,不要随意打开私自进行维修,应送专业人士进行维修。
参考技术B秒表计时有三种时间模式:
累积计时:(1) 按 [+] 键开始 、停止、再开始计时(时间累计)(2) 计时完毕,按 [-]键计时归零
间隔计时: (1) 按 [+] 键开始 计时 (2) 按 [-]键一次停止秒表并显示间隔时间,心率读数和间隔时间将存入记忆中以便查看。间隔时间显示5秒后秒表将持续计时。重复此程序以便读取间隔时间(3) 再下一点终止按 [-]键记录此时点相关信息,如此重复(4) [+]键停止计时(5) 按 [-]键计时归零
终点计时(1) 按 [+] 键开始 计时(2) 按 [-] 键显示 第一人的完成时间,并作记录以便之后查看,5秒后计时将继续计时。重复此程序,可查看每一人的终点时间(3) 按 [+]键停止秒表(4) 按 [-]键计时归零
注意: 一旦秒表功能被激活,在使用其他主功能模式或子功能模式时,在区域 3将一直保持显示“ stopwatch秒表 ”,表明秒表功能处于被激活状态。
秒表是一种常用的测时仪器。又可称"机械停表"。由暂停按钮、发条柄头、分针等组成。它是利用摆的等时性控制指针转动而计时的。
它是利用摆的等时性控制指针转动而计时的。在它的正面是一个大表盘,上方有一个小表盘(图1.4-2)。秒针沿大表盘转动,分针沿小表盘转动。分针和秒针所指的时间和就是所测的时间间隔。在表正上方有一个表把,上有一按钮。旋动按钮,上紧发条,这是秒表走动的动力。用大拇指按下按钮,秒表开始计时;再按下按钮,秒表停止走动,进行读数;再按一次,秒表回零,准备下一次计时。(注意:使用这类机械秒表一定要完成这一程序后才能进行下一次计时。这类表不能在按停后又重新开动秒表连续计时。为了解决这一问题,有的秒表在表把左侧装有一按钮,当表走动时将此按钮向上推,表停走;向下推,即继续累计计时。)[1]
秒表的精度一般在0.1-0.2秒,计时误差主要是开表、停表不准造成的。秒表在使用前上发条时不宜上得过紧,以免断裂。使用完后应将表开动,使发条完全放开。不同型号的秒表,分针和秒针旋转一周所计的时间可能不同,使用时要注意。[1]
使用秒表的注意事项:
1.使用前先上紧发条,但不要过紧,以免损坏发条;使用前一定要进行验表,主要看按键是否有问题,记录的时间是否准。
2.使用时,用拇指指关节或用食指第二指关节扣住按键,并将秒表靠住自己的胸部,不在任何的摆臂动作中完成按键。按表时不要用力过猛,以防损坏机件;
3.回表后,如秒针不指零,应记下其数值(零点读数),试验后从测量值中将其减去(注意符号);按键时尽量用正确的角度和适合的力量,不要按在按钮的边缘或斜角度按,避免卡住或损坏按钮。
4.计时开启后不要将秒表挂在脖子上或放在口袋内跑动,防止跑的过程中秒表按键与身体相撞,造成意外的停止或开启。
5要特别注意防止摔破秒表,不使用时一定将表放 在实验后中央的盒中.
6要注意开表以烟为信号,停表时与终点线直对,不能斜看。
如何读秒表
大圈为秒,小圈为分。
若大圈是30分格(顶上写的是30,可能有60格,表明精度到半秒),小圈里一分钟就分为两小格,读完整的几分,若过了一小格,就在大圈秒数上加半分钟,若没过,直接读大圈秒数。
秒表计时有三种时间模式:
1累积计时:
(1) 按 [+] 键开始 、停止、再开始计时(时间累计)
(2) 计时完毕,按 [-]键计时归零
2间隔计时:
(1) 按 [+] 键开始 计时
(2) 按 [-]键一次停止秒表并显示间隔时间,心率读数和间隔时间将存入记忆中以便查看。间隔时间显示5秒后秒表将持续计时。重复此程序以便读取间隔时间
(3) 再下一点终止按 [-]键记录此时点相关信息,如此重复
(4) [+]键停止计时
(5) 按 [-]键计时归零
3终点计时
(1) 按 [+] 键开始 计时
(2) 按 [-] 键显示 第一人的完成时间,并作记录以便之后查看,5秒后计时将继续计时。重复此程序,可查看每一人的终点时间
(3) 按 [+]键停止秒表
(4) 按 [-]键计时归零
注意: 一旦秒表功能被激活,在使用其他主功能模式或子功能模式时,在区域 3将一直保持显示“ stopwatch秒表 ”,表明秒表功能处于被激活状态。 参考技术D 使用方法如下:
1、如果常规的双排或者三排秒表,那请找到秒表的开/关开关,将它打开才是使用,因为双排或者三排1/1秒表都是可以自行的开关机的。
2、确认秒表面上的显示全部显示零,RESEE秒表开机的状态屏幕显示的都是。
3、然后按下秒表的“Start/stop”按钮开始计时器。
4、再按“stop”按钮,在需要秒表停止的时候可以按下这些按钮。
无法使用pyqt5显示秒表
【中文标题】无法使用pyqt5显示秒表【英文标题】:Can't display stop watch using pyqt5 【发布时间】:2019-12-18 08:26:51 【问题描述】:我正在构建一个非常简单的 GUI,但我无法计算出我的秒表。 我有两个不同的文件 - 一个用于 GUI 的变量,一个用于具有所有功能的主文件。 我的目标是,一旦用户按下“运行”按钮,计时器将出现在小文本框中,每秒以“hh:mm:ss”的形式变化。 我所做的基本上是收集一些我认为适合我的脚本的信息和一些代码行,但我认为我有一些错误并且它不起作用(我试图改变一些东西,但我明白了每次都有不同的错误..)
这些是我的文件:
图形用户界面文件:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(895, 422)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.timer=QtCore.QTimer(self.centralwidget)
self.timer.timeout.connect(self.showTime)
self.timer.start(1000)
self.showTime(MainWindow)
###txtoutput = big window for text###
self.txtoutput = QtWidgets.QTextBrowser(self.centralwidget)
self.txtoutput.setGeometry(QtCore.QRect(150, 200, 471, 192))
self.txtoutput.setObjectName("txtoutput")
###modeltype = droplist###
self.modeltype = QtWidgets.QComboBox(self.centralwidget)
self.modeltype.setGeometry(QtCore.QRect(50, 90, 69, 22))
self.modeltype.setObjectName("modeltype")
self.modeltype.addItem("")
self.modeltype.addItem("")
self.modeltype.addItem("")
###seriallbl = label above input window###
self.seriallbl = QtWidgets.QLabel(self.centralwidget)
self.seriallbl.setGeometry(QtCore.QRect(90, 30, 81, 16))
self.seriallbl.setObjectName("seriallbl")
###getserialbtn = "Enter" button###
self.getserialbtn = QtWidgets.QPushButton(self.centralwidget)
self.getserialbtn.setGeometry(QtCore.QRect(210, 50, 75, 23))
self.getserialbtn.setObjectName("getserialbtn")
###chuckrealeasebtn = "Chuck"/"Release" button###
self.chuckrealeasebtn = QtWidgets.QPushButton(self.centralwidget)
self.chuckrealeasebtn.setEnabled(False)
self.chuckrealeasebtn.setGeometry(QtCore.QRect(50, 120, 75, 23))
self.chuckrealeasebtn.setObjectName("chuckrealeasebtn")
self.chuckrealeasebtn.setCheckable(True)
###runbtn = "Run" button###
self.runbtn = QtWidgets.QPushButton(self.centralwidget)
self.runbtn.setEnabled(False)
self.runbtn.setGeometry(QtCore.QRect(580, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.runbtn.setFont(font)
self.runbtn.setCheckable(False)
self.runbtn.setObjectName("runbtn")
###serialinput = Text box for serial # input###
self.serialinput = QtWidgets.QTextEdit(self.centralwidget)
self.serialinput.setGeometry(QtCore.QRect(50, 50, 151, 31))
self.serialinput.setObjectName("serialinput")
###stopbtn = "Stop" button###
self.stopbtn = QtWidgets.QPushButton(self.centralwidget)
self.stopbtn.setGeometry(QtCore.QRect(680, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.stopbtn.setFont(font)
self.stopbtn.setObjectName("stopbtn")
###exitbtn = "Exit" button###
self.exitbtn = QtWidgets.QPushButton(self.centralwidget)
self.exitbtn.setGeometry(QtCore.QRect(740, 370, 75, 23))
self.exitbtn.setObjectName("exitbtn")
self.timelbl = QtWidgets.QLabel(self.centralwidget)
self.timelbl.setGeometry(QtCore.QRect(320, 140, 47, 13))
self.timelbl.setObjectName("timelbl")
###timertxt = label above timer window###
self.timertxt = QtWidgets.QTextBrowser(self.centralwidget)
self.timertxt.setGeometry(QtCore.QRect(260, 160, 141, 31))
self.timertxt.setObjectName("timertxt")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.modeltype.setItemText(0, _translate("MainWindow", "Type 1"))
self.modeltype.setItemText(1, _translate("MainWindow", "Type 2"))
self.modeltype.setItemText(2, _translate("MainWindow", "Type 3"))
self.seriallbl.setText(_translate("MainWindow", "Enter serial #"))
self.getserialbtn.setText(_translate("MainWindow", "Enter"))
self.chuckrealeasebtn.setText(_translate("MainWindow", "chuck"))
self.runbtn.setText(_translate("MainWindow", "Run"))
self.stopbtn.setText(_translate("MainWindow", "Stop"))
self.exitbtn.setText(_translate("MainWindow", "Exit"))
self.timelbl.setText(_translate("MainWindow", "Timer"))
还有我的主要:
from PyQt5 import QtWidgets, QtCore, QtGui
from mainwin import Ui_MainWindow
class ApplicationWindow(QtWidgets.QMainWindow):
def __init__(self):
super(ApplicationWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.exitbtn.clicked.connect(self.exitclicked)
self.ui.getserialbtn.clicked.connect(self.serialentered)
self.ui.chuckrealeasebtn.clicked.connect(self.chuckclicked)
self.ui.runbtn.clicked.connect(self.showTime)
###exitclicked = "Exit" button function###
def exitclicked(self):
self.close()
def showTime(self):
time=self.ui.QTime.currentTime()
text=self.ui.time.toString('hh:mm:ss')
if(time.second()%2==0):
text=text[:2]+ ' ' +text [3:]
self.ui.txtoutput.append(text)
###chuckclicked = "Chuck"/"Release" button function###
def chuckclicked(self):
if self.ui.chuckrealeasebtn.isChecked():
mytext = self.ui.serialinput.toPlainText()
self.ui.chuckrealeasebtn.setText("Release")
self.ui.getserialbtn.setEnabled(False)
self.ui.runbtn.setEnabled(True)
self.ui.txtoutput.append(mytext+" - is chucked, Ready to run")
else:
self.ui.chuckrealeasebtn.setText("Chuck")
self.ui.txtoutput.clear()
self.ui.chuckrealeasebtn.setEnabled(False)
self.ui.getserialbtn.setEnabled(True)
self.ui.runbtn.setEnabled(False)
###serialentered = function that checks if the serial # that was entered is found or not found in a certain list###
def serialentered(self):
serialnum = self.ui.serialinput.toPlainText()
listnum=self.ui.modeltype.currentIndex()
if (listnum==0):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 1.txt') as r1:
if serialnum in r1.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 1")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 1")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==1):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 2.txt') as r2:
if serialnum in r2.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 2")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 2")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==2):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 3.txt') as r3:
if serialnum in r3.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 3")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 3")
self.ui.chuckrealeasebtn.setEnabled(False)
def main():
import sys
app = QtWidgets.QApplication(sys.argv)
application = ApplicationWindow()
application.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
所以我不确定这里到底出了什么问题 - 如果有人有任何我没有想到的想法,我会很高兴..
提前谢谢各位!
***我应该编辑我希望秒表从 00:00:00 开始,并在我点击“运行”按钮后每秒计数一次”
【问题讨论】:
【参考方案1】:切勿修改在 QT Designer 中创建的模块。 试试看:
from PyQt5 import QtCore, QtGui, QtWidgets
# from mainwin import Ui_MainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(895, 422)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
# - self.timer=QtCore.QTimer(self.centralwidget)
# - self.timer.timeout.connect(self.showTime)
# - self.timer.start(1000)
# - self.showTime(MainWindow)
###txtoutput = big window for text###
self.txtoutput = QtWidgets.QTextBrowser(self.centralwidget)
self.txtoutput.setGeometry(QtCore.QRect(150, 200, 471, 192))
self.txtoutput.setObjectName("txtoutput")
###modeltype = droplist###
self.modeltype = QtWidgets.QComboBox(self.centralwidget)
self.modeltype.setGeometry(QtCore.QRect(50, 90, 69, 22))
self.modeltype.setObjectName("modeltype")
self.modeltype.addItem("")
self.modeltype.addItem("")
self.modeltype.addItem("")
###seriallbl = label above input window###
self.seriallbl = QtWidgets.QLabel(self.centralwidget)
self.seriallbl.setGeometry(QtCore.QRect(90, 30, 81, 16))
self.seriallbl.setObjectName("seriallbl")
###getserialbtn = "Enter" button###
self.getserialbtn = QtWidgets.QPushButton(self.centralwidget)
self.getserialbtn.setGeometry(QtCore.QRect(210, 50, 75, 23))
self.getserialbtn.setObjectName("getserialbtn")
###chuckrealeasebtn = "Chuck"/"Release" button###
self.chuckrealeasebtn = QtWidgets.QPushButton(self.centralwidget)
self.chuckrealeasebtn.setEnabled(False)
self.chuckrealeasebtn.setGeometry(QtCore.QRect(50, 120, 75, 23))
self.chuckrealeasebtn.setObjectName("chuckrealeasebtn")
self.chuckrealeasebtn.setCheckable(True)
###runbtn = "Run" button###
self.runbtn = QtWidgets.QPushButton(self.centralwidget)
# - self.runbtn.setEnabled(False)
self.runbtn.setGeometry(QtCore.QRect(580, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.runbtn.setFont(font)
self.runbtn.setCheckable(False)
self.runbtn.setObjectName("runbtn")
###serialinput = Text box for serial # input###
self.serialinput = QtWidgets.QTextEdit(self.centralwidget)
self.serialinput.setGeometry(QtCore.QRect(50, 50, 151, 31))
self.serialinput.setObjectName("serialinput")
###stopbtn = "Stop" button###
self.stopbtn = QtWidgets.QPushButton(self.centralwidget)
self.stopbtn.setGeometry(QtCore.QRect(680, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.stopbtn.setFont(font)
self.stopbtn.setObjectName("stopbtn")
###exitbtn = "Exit" button###
self.exitbtn = QtWidgets.QPushButton(self.centralwidget)
self.exitbtn.setGeometry(QtCore.QRect(740, 370, 75, 23))
self.exitbtn.setObjectName("exitbtn")
self.timelbl = QtWidgets.QLabel(self.centralwidget)
self.timelbl.setGeometry(QtCore.QRect(320, 140, 47, 13))
self.timelbl.setObjectName("timelbl")
###timertxt = label above timer window###
self.timertxt = QtWidgets.QTextBrowser(self.centralwidget)
self.timertxt.setGeometry(QtCore.QRect(260, 160, 141, 31))
self.timertxt.setObjectName("timertxt")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.modeltype.setItemText(0, _translate("MainWindow", "Type 1"))
self.modeltype.setItemText(1, _translate("MainWindow", "Type 2"))
self.modeltype.setItemText(2, _translate("MainWindow", "Type 3"))
self.seriallbl.setText(_translate("MainWindow", "Enter serial #"))
self.getserialbtn.setText(_translate("MainWindow", "Enter"))
self.chuckrealeasebtn.setText(_translate("MainWindow", "chuck"))
self.runbtn.setText(_translate("MainWindow", "Run"))
self.stopbtn.setText(_translate("MainWindow", "Stop"))
self.exitbtn.setText(_translate("MainWindow", "Exit"))
self.timelbl.setText(_translate("MainWindow", "Timer"))
class ApplicationWindow(QtWidgets.QMainWindow):
def __init__(self):
super(ApplicationWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.exitbtn.clicked.connect(self.exitclicked)
self.ui.getserialbtn.clicked.connect(self.serialentered)
self.ui.chuckrealeasebtn.clicked.connect(self.chuckclicked)
self.ui.runbtn.clicked.connect(self.onClick_runbtn) # - (self.showTime)
self.timer = QtCore.QTimer(self) # +++
self.timer.timeout.connect(self.showTime) # +++
###exitclicked = "Exit" button function###
def exitclicked(self):
self.close()
def onClick_runbtn(self): # +++
self.timer.start(1000) # +++
def showTime(self):
time = QtCore.QTime.currentTime() # - self.ui.QTime.currentTime()
text = time.toString('hh:mm:ss') # - self.ui.time.toString('hh:mm:ss')
if(time.second()%2==0):
text = text[:2]+ ' ' +text [3:]
# self.ui.txtoutput.append(text)
self.ui.timelbl.setText(text)
###chuckclicked = "Chuck"/"Release" button function###
def chuckclicked(self):
if self.ui.chuckrealeasebtn.isChecked():
mytext = self.ui.serialinput.toPlainText()
self.ui.chuckrealeasebtn.setText("Release")
self.ui.getserialbtn.setEnabled(False)
self.ui.runbtn.setEnabled(True)
self.ui.txtoutput.append(mytext+" - is chucked, Ready to run")
else:
self.ui.chuckrealeasebtn.setText("Chuck")
self.ui.txtoutput.clear()
self.ui.chuckrealeasebtn.setEnabled(False)
self.ui.getserialbtn.setEnabled(True)
self.ui.runbtn.setEnabled(False)
###serialentered = function that checks if the serial # that was entered is found or not found in a certain list###
def serialentered(self):
serialnum = self.ui.serialinput.toPlainText()
listnum=self.ui.modeltype.currentIndex()
if (listnum==0):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 1.txt') as r1:
if serialnum in r1.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 1")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 1")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==1):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 2.txt') as r2:
if serialnum in r2.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 2")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 2")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==2):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 3.txt') as r3:
if serialnum in r3.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 3")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 3")
self.ui.chuckrealeasebtn.setEnabled(False)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
application = ApplicationWindow()
application.show()
sys.exit(app.exec_())
更新
为什么我不应该编辑在 QT 设计器中创建的模块?
想一想如果您想更改设计会发生什么。你会记住很长一段时间你需要做哪些改变......
我希望我的秒表从 0 开始,然后每秒计数。有没有办法做到这一点,或者我只能显示当前时间?
from PyQt5 import QtCore, QtGui, QtWidgets
import time # +++
# from mainwin import Ui_MainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(895, 422)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
###txtoutput = big window for text###
self.txtoutput = QtWidgets.QTextBrowser(self.centralwidget)
self.txtoutput.setGeometry(QtCore.QRect(150, 200, 471, 192))
self.txtoutput.setObjectName("txtoutput")
###modeltype = droplist###
self.modeltype = QtWidgets.QComboBox(self.centralwidget)
self.modeltype.setGeometry(QtCore.QRect(50, 90, 69, 22))
self.modeltype.setObjectName("modeltype")
self.modeltype.addItem("")
self.modeltype.addItem("")
self.modeltype.addItem("")
###seriallbl = label above input window###
self.seriallbl = QtWidgets.QLabel(self.centralwidget)
self.seriallbl.setGeometry(QtCore.QRect(90, 30, 81, 16))
self.seriallbl.setObjectName("seriallbl")
###getserialbtn = "Enter" button###
self.getserialbtn = QtWidgets.QPushButton(self.centralwidget)
self.getserialbtn.setGeometry(QtCore.QRect(210, 50, 75, 23))
self.getserialbtn.setObjectName("getserialbtn")
###chuckrealeasebtn = "Chuck"/"Release" button###
self.chuckrealeasebtn = QtWidgets.QPushButton(self.centralwidget)
self.chuckrealeasebtn.setEnabled(False)
self.chuckrealeasebtn.setGeometry(QtCore.QRect(50, 120, 75, 23))
self.chuckrealeasebtn.setObjectName("chuckrealeasebtn")
self.chuckrealeasebtn.setCheckable(True)
###runbtn = "Run" button###
self.runbtn = QtWidgets.QPushButton(self.centralwidget)
# - self.runbtn.setEnabled(False)
self.runbtn.setGeometry(QtCore.QRect(580, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.runbtn.setFont(font)
self.runbtn.setCheckable(False)
self.runbtn.setObjectName("runbtn")
###serialinput = Text box for serial # input###
self.serialinput = QtWidgets.QTextEdit(self.centralwidget)
self.serialinput.setGeometry(QtCore.QRect(50, 50, 151, 31))
self.serialinput.setObjectName("serialinput")
###stopbtn = "Stop" button###
self.stopbtn = QtWidgets.QPushButton(self.centralwidget)
self.stopbtn.setGeometry(QtCore.QRect(680, 70, 91, 61))
font = QtGui.QFont()
font.setPointSize(28)
font.setBold(True)
font.setWeight(75)
self.stopbtn.setFont(font)
self.stopbtn.setObjectName("stopbtn")
###exitbtn = "Exit" button###
self.exitbtn = QtWidgets.QPushButton(self.centralwidget)
self.exitbtn.setGeometry(QtCore.QRect(740, 370, 75, 23))
self.exitbtn.setObjectName("exitbtn")
self.timelbl = QtWidgets.QLabel(self.centralwidget)
self.timelbl.setGeometry(QtCore.QRect(260, 140, 147, 23)) # +
self.timelbl.setObjectName("timelbl")
###timertxt = label above timer window###
self.timertxt = QtWidgets.QTextBrowser(self.centralwidget)
self.timertxt.setGeometry(QtCore.QRect(260, 160, 141, 31))
self.timertxt.setObjectName("timertxt")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.modeltype.setItemText(0, _translate("MainWindow", "Type 1"))
self.modeltype.setItemText(1, _translate("MainWindow", "Type 2"))
self.modeltype.setItemText(2, _translate("MainWindow", "Type 3"))
self.seriallbl.setText(_translate("MainWindow", "Enter serial #"))
self.getserialbtn.setText(_translate("MainWindow", "Enter"))
self.chuckrealeasebtn.setText(_translate("MainWindow", "chuck"))
self.runbtn.setText(_translate("MainWindow", "Run"))
self.stopbtn.setText(_translate("MainWindow", "Stop"))
self.exitbtn.setText(_translate("MainWindow", "Exit"))
self.timelbl.setText(_translate("MainWindow", "Timer"))
class ApplicationWindow(QtWidgets.QMainWindow):
def __init__(self):
super(ApplicationWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.exitbtn.clicked.connect(self.exitclicked)
self.ui.getserialbtn.clicked.connect(self.serialentered)
self.ui.chuckrealeasebtn.clicked.connect(self.chuckclicked)
self.ui.runbtn.clicked.connect(self.onClick_runbtn) # + self.onClick_runbtn
### VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.showTime)
self.time = 0
self.timeInterval = 1000
def onClick_runbtn(self):
self.timer.start(self.timeInterval)
self.timeViewer = QtWidgets.QLCDNumber(self)
self.timeViewer.setGeometry(QtCore.QRect(280, 80, 100, 45))
self.timeViewer.show()
def showTime(self):
self.time += 1
self.settimer(self.time)
##print(self.time)
def settimer(self, int):
self.time = int
self.timeViewer.display(self.time)
if self.timeInterval == 1000:
self.ui.timelbl.setText(time.strftime('%H hour %M minute %S second',time.gmtime(self.time)))
### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
###exitclicked = "Exit" button function###
def exitclicked(self):
self.close()
###chuckclicked = "Chuck"/"Release" button function###
def chuckclicked(self):
if self.ui.chuckrealeasebtn.isChecked():
mytext = self.ui.serialinput.toPlainText()
self.ui.chuckrealeasebtn.setText("Release")
self.ui.getserialbtn.setEnabled(False)
self.ui.runbtn.setEnabled(True)
self.ui.txtoutput.append(mytext+" - is chucked, Ready to run")
else:
self.ui.chuckrealeasebtn.setText("Chuck")
self.ui.txtoutput.clear()
self.ui.chuckrealeasebtn.setEnabled(False)
self.ui.getserialbtn.setEnabled(True)
self.ui.runbtn.setEnabled(False)
###serialentered = function that checks if the serial # that was entered is found or not found in a certain list###
def serialentered(self):
serialnum = self.ui.serialinput.toPlainText()
listnum=self.ui.modeltype.currentIndex()
if (listnum==0):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 1.txt') as r1:
if serialnum in r1.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 1")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 1")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==1):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 2.txt') as r2:
if serialnum in r2.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 2")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 2")
self.ui.chuckrealeasebtn.setEnabled(False)
elif (listnum==2):
with open(r'C:\Users\hv_lab\Documents\python tests\Serial Numbers - Type 3.txt') as r3:
if serialnum in r3.read():
self.ui.txtoutput.append(serialnum+" - Serial was found in List 3")
self.ui.chuckrealeasebtn.setEnabled(True)
else:
self.ui.txtoutput.append(serialnum+" - Serial was NOT found in List 3")
self.ui.chuckrealeasebtn.setEnabled(False)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
application = ApplicationWindow()
application.show()
sys.exit(app.exec_())
【讨论】:
嗨尼克!首先 - 非常感谢你。我有几个问题:为什么我不应该从不编辑在 QT 设计器中创建的模块?我编辑了我希望我的秒表从 0 开始,并且每秒计数。有没有办法做到这一点,或者我只能显示当前时间?非常感谢! 嘿尼克,很抱歉仍然打扰你:我现在正试图让秒表在我按下停止按钮后再次变为 0,但基本上下一次手表的速度会加倍。 .. @Alon123 提出一个新问题,附上最新版本的例子。写下你想做的和不能做的。以上是关于秒表的使用方法!的主要内容,如果未能解决你的问题,请参考以下文章