在这篇Python文章中,我将向您展示如何使用Pyside2创建数字时钟。

Python的GUI的库常见包括Tkinter、PyQt5和Pyside2。Tkinter控件较少,适合开发简单工具。PyQt5和Pyside2则都是对Qt的封装,PyQt5由Riverbank Computing公司维护,历史更长,但是Pyside2因为由Qt公司维护,可以视为Qt的亲儿子,个人认为未来Pyside2 的前景会更好一些。此外PyQt是GPL/商业协议,PySide是LGPL/GPL/商业协议。

这是Python如何使用Pyside2创建数字时钟的完整代码

在上面的代码中,我们首先从Pyside2 库中导入了我们的类

这是我们的主窗口类,它继承自QLCDNumber,在这个类中,我们将创建QTimer类的对象,我们还将QTimer的超时信号与showTime槽函数连接起来,我们要创建这个。

另外,我们还在这个类中添加了setIcon()和pushButton()方法。

什么是QLCDNumber?

它可以显示十进制,十六进制,八进制或二进制数字。使用display()插槽很容易连接到数据源,该插槽重载了五个参数类型中的任何一个。

还有一些插槽可以通过setMode()更改基数,并通过setSmallDecimalPoint()更改小数点。

当要求显示超出其范围的内容时,QLCDNumber会发出overflow()信号。范围是由setDigitCount()设置的,但是setSmallDecimalPoint()也会影响它。如果显示设置为十六进制,八进制或二进制,则显示该值的整数等效值。

可以显示这些数字和其他符号:0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, 减号,小数点, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y,冒号,度数符号(在字符串中指定为单引号)和空格。QLCDNumber用空格代替非法字符。

尽管可以使用value()检索数字值,但无法检索QLCDNumber对象的内容。如果您确实需要文本,我们建议您将馈入display()插槽的信号也连接到另一个插槽,并在其中存储值。

顺便说一句,QLCDNumber是Qt最古老的部分,其根源可以追溯到Sinclair Spectrum上的BASIC程序。

什么是QTimer类?

QTimer类为计时器提供了高级编程接口。要使用它,请创建一个QTimer,将其timeout()信号连接到适当的插槽,然后调用start()。从那时起,它将以固定的时间间隔发出timeout()信号。

我们已经将其与QTimer的超时()信号连接的插槽

在这里每个Pyside2应用程序都必须创建一个应用程序对象。该 sys.argv 参数是命令行中的参数列表。

最后,我们进入应用程序的主循环。事件处理从这一点开始。mainloop从窗口系统接收事件,并将其分配给应用程序小部件。

现在运行完整的代码,结果如下:

发表评论