Python 跨平台PyQt5开发系列(三)案例实战(python3项目实战,关键词优化)

时间:2024-05-05 15:10:07 作者 : 石家庄SEO 分类 : 关键词优化
  • TAG :

    Python+%E8%B7%A8%E5%B9%B3%E5%8F%B0PyQt5%E5%BC%80%E5%8F%91%E7%B3%BB%E5%88%97%EF%BC%88%E4%B8%89%EF%BC%89%E6%A1%88%E4%BE%8B%E5%AE%9E%E6%88%98

一、前言:

我们在前面学习了一些使用PyQt5开发的相关知识,

本次我们将实现一个简单的电子时钟来加强python的编码能力及PyQt5相关开发知识的使用。

本次我们主要用到两个新的知识点:

1、QTimer

描述:

QTimer类提供了定时器信号和单触发定时器。

它在内部使用定时器事件来提供更通用的定时器。

使用操作:创建一个QTimer,使用start来开始并且把它的timeout()连接到适当的槽。当这段时间过去了,它将会发射timeout()信号。

2、QLCDNumber

用于显示LCD数字。它可以显示几乎任意大小的数字。可以显示十进制、十六进制、八进制或二进制数。使用display()槽连接到数据源。

二、编码实战

OK,我们先来看下本次的效果图吧。

我们先来看下完整的代码,然后再分段来讲解。

代码不多,50行不到哦。

代码详解:

1、首先我们继承QWidget来创建一个自定义时钟类。

2、在initUI方法里完成界面的编写。

3、在init_timer方法里完成有关时钟的初始化。

我们看下initUI里面的代码:

- 设置大小那些我们就不讲了,本次我们还多了一个类QPalette,我们通过它来设置组件的背景颜色及字体的背景颜色等。

背景颜色的设置

self.main_p = QPalette();:创建一个QPalette类,其相当于调色板

self.main_p.setColor(QPalette.Background,Qt.darkYellow); :设置背景颜色为darkYellow

self.setAutoFillBackground(True); :设置窗体自动填充背景颜色

self.setPalette(self.main_p);:把调色板设置给我们的顶级窗口就可以了哦。这样背景颜色就设置好了。

LCD显示组件的设置

self.lcd = QLCDNumber();创建一个QLCDNumber

self.lcd.setDigitCount(10); 设置显示数字个数

self.lcd.setMode(QLCDNumber.Dec);设置显示模式为十进制

self.lcd.setSegmentStyle(QLCDNumber.Flat);:设置样式为平面模式

再下来是一段设置里面字体颜色的,与背景颜色类似,我就不说了

显示时间:

self.lcd.display(time.strftime(‘%X’,time.localtime()))

time.strftime():接收时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。

%X 表示显示本地相应的时间表示

time.localtime()获取本地时间。

self.main_layout = QVBoxLayout(); 创建一个盒子布局

self.main_layout.addWidget(self.lcd);把我们的显示组件添加到布局中。

self.main_layout.setAlignment(Qt.AlignCenter);:设置组件在布局的中心

self.setLayout(self.main_layout);:设置给我们的顶层布局

电子钟的初始化

我们再看下init_timer方法

self.timer = QTimer();:创建一个定时器

self.timer.setInterval(1000);:设置定时器每1秒触发一次timeout信号

self.timer.start();:启动定时器

self.timer.timeout.connect(self.updatetime);:timeout信号与updatetime方法关联,再timeout触发时,通知我们的updatetime.再updatetime里更新显示的时间。

三、总结

本次我们学习了QTimer的使用、QLCDNumber的显示、还增加了背景颜色、字体颜色的设置等。

后面我们将一点一点增加复杂度,循序渐进。

小伙伴们有什么好的建议都可以给我留言哦!

如果看到了这里,说明你已经看完了,感谢你的支持

喜欢就点一下哦,谢谢!

@著作权归作者所有,转载请联系作者 用心写好每一篇文章

本文:Python 跨平台PyQt5开发系列(三)案例实战的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:「Python实例」生成16位随机序列号下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18