c/c++语言开发共享PyQt实现计数器的方法示例

1、pyqt介绍pyqt是python的gui框架之一,这是一个跨平台的ui框架,即可以运行在windows、linux、mac上,可以用来替换python内置的tkinter。pyqt支持pytho


1、pyqt介绍

pyqt是python的gui框架之一,这是一个跨平台的ui框架,即可以运行在windows、linux、mac上,可以用来替换python内置的tkinter。

pyqt支持python2.x和python3.x。而qt是digia公司的产品,是一个跨平台的c++gui开发框架,也支持python,

目前qt逐步取代mfc,成为大多数公司开发gui程序的主要选择,其丰富的类库和一份代码不同编译的跨平台性,

使得qt成为桌面客户端开发者很有必要去学习和掌握的框架。

下面是通过pyqt实现的计数器,从0开始计数,到60归0,重新开始计数,支持暂停。通过这个demo,

可以快速熟悉pyqt如何引入qt的模块和类,以及如何使用qt独特的信号槽机制。

2、界面效果

PyQt实现计数器的方法示例

1、安装环境

打开cmd,通过pip3安装pyqt5(这里假定已经安装了python和pycharm)

PyQt实现计数器的方法示例

安装pyqt5-tools

PyQt实现计数器的方法示例

如果出现以下错误,重新安装即可

PyQt实现计数器的方法示例

3、主要代码

1、引入相关模块

引入待会需要使用的qt模块。qtwidgets是界面布局和控件相关,qtcore是主要使用的类,比如以上的qtimer定时器类。

  from pyqt5.qtwidgets import qwidget,qpushbutton,    qlabel,qvboxlayout, qhboxlayout,qapplication,qlcdnumber  from pyqt5.qtcore import qtimer

2、初始化界面布局和关联信号槽,设置窗口的标题和显示的位置​​​​​​​

  class form(qwidget):       def __init__(self):      super().__init__()         self.lable = qlabel("计时")      self.timer = qtimer(self)      self.lcd = qlcdnumber(self)      self.startbtn = qpushbutton('开始计时')      self.stopbtn = qpushbutton('暂停')      self.startbtn.clicked.connect(self.starttimer)      self.stopbtn.clicked.connect(self.stoptimer)         vlayout = qvboxlayout()      hlayout = qhboxlayout()         vlayout.addwidget(self.lcd)      hlayout.addwidget(self.startbtn)      hlayout.addwidget(self.stopbtn)      vlayout.addlayout(hlayout)         self.setlayout(vlayout)      self.timer.timeout.connect(self.shownum)         self.setgeometry(300,300,400,300)      self.setwindowtitle("stopwatch")      self.num = 0

这里把开始计数和暂停按钮通过水平布局放置,再和qlcdnumber进行垂直布局。然后通过connect设置对应的信号与槽的连接。

4、全部代码(拷贝即可运行)​​​​​​​

  import sys  from pyqt5.qtwidgets import qwidget,qpushbutton,    qlabel,qvboxlayout, qhboxlayout,qapplication,qlcdnumber  from pyqt5.qtcore import qtimer        class form(qwidget):       def __init__(self):      super().__init__()         self.lable = qlabel("计时")      self.timer = qtimer(self)      self.lcd = qlcdnumber(self)      self.startbtn = qpushbutton('开始计时')      self.stopbtn = qpushbutton('暂停')      self.startbtn.clicked.connect(self.starttimer)      self.stopbtn.clicked.connect(self.stoptimer)         vlayout = qvboxlayout()      hlayout = qhboxlayout()         vlayout.addwidget(self.lcd)      hlayout.addwidget(self.startbtn)      hlayout.addwidget(self.stopbtn)      vlayout.addlayout(hlayout)         self.setlayout(vlayout)      self.timer.timeout.connect(self.shownum)         self.setgeometry(300,300,400,300)      self.setwindowtitle("stopwatch")      self.num = 0       def shownum(self):      self.lcd.display(self.num)      self.num=self.num+1      if(self.num==60):        self.num=0       def starttimer(self):      self.timer.start(1000)       def stoptimer(self):      self.timer.stop()     if __name__ == '__main__':    app = qapplication(sys.argv)    form = form()    form.show()    sys.exit(app.exec_())

通过短短50行代码(还可以优化),就可以实现一个简单的计数器,python就是那么简洁,再搭配跨平台的qt,可谓如虎添翼。

不过想更快的掌握pyqt,还需要去学习一下qt的使用和常用的类,才能做出更多有趣的东西。

到此这篇关于pyqt实现计数器的方法示例的文章就介绍到这了,更多相关pyqt 计数器内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/596128.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐