当前位置: 首页 > news >正文

编程 网站建设搜狗提交入口网址

编程 网站建设,搜狗提交入口网址,做公众号链接的网站,学网站开发顺序基于PyQt5的重绘机制实现加载页面 效果预览代码说明控件初始化超时回调重绘事件缩放事件 代码获取 效果预览 直接看图,效果展现为跟随黑点顺时针转动,且有明暗变化 代码说明 控件初始化 initUI主要用于初始化用户界面(UI)。它创建了一个具有特定样式…

基于PyQt5的重绘机制实现加载页面

  • 效果预览
  • 代码说明
    • 控件初始化
    • 超时回调
    • 重绘事件
    • 缩放事件
  • 代码获取

效果预览

直接看图,效果展现为跟随黑点顺时针转动,且有明暗变化
在这里插入图片描述

代码说明

控件初始化

initUI主要用于初始化用户界面(UI)。它创建了一个具有特定样式、占位文本、只读属性的文本框,设置了初始字体大小,初始化了一个颜色列表,并创建了一个定时器用于触发部件重绘事件。

    def initUI(self):self.text_edit = QTextEdit(self)                                        # 创建一个文本框'''加粗斜体无边框'''self.text_edit.setStyleSheet("font-style: italic; font-weight: bold; border: none; background-color: rgba(0, 0, 0, 0);")self.text_edit.setPlaceholderText(self.__wait_info())                   # 文本框内容self.text_edit.setReadOnly(True)                                        # 只读'''设置初始字体大小'''self.font = QFont()self.font.setPointSize(1)self.text_edit.setFont(self.font)'''初始化RGB列表'''self.color = []for angle in range(0, 18):self.color.append(14 * angle)'''初始化定时器用于出发部件重绘事件'''self.timer = QTimer(self)self.timer.timeout.connect(self.update_color)self.timer.start(100)
  • self.color用于存储颜色值,通过for循环,将一系列值(14 的倍数,从 0 到 14*17)添加到颜色列表中
  • self.timer 用于更新颜色,固定超时时间为每 100 毫秒触发一次超时信号

超时回调

  • 拼接 self.color[1:]self.color[:1]
  • self.update 触发部件的重绘
    def update_color(self):'''更新RGB队列 模拟颜色变换'''self.color = self.color[1:] + self.color[:1]'''触发部件重绘:触发paintEvent事件,从而导致部件重新绘制自身'''self.update()

重绘事件

  • self.__get_radius() 用于获取圆形的半径(根据窗口的大小动态计算)
  • for angle in range(0, 18) 绘制18个点以组成圆型
  • self.__paint_dot 用于在指定坐标绘制点
    def __paint_circle(self):'''计算当前窗口的中心坐标'''__center_x = self.width() // 2__center_y = self.height() // 2'''更新半径,跟随窗口大小变化而变化'''__radius = self.__get_radius()for angle in range(0, 18):'''计算绘制坐标'''__x = __center_x + int(__radius * math.cos(math.radians(20 * (18 - angle))))__y = __center_y + int(__radius * math.sin(math.radians(20 * (18 - angle))))'''绘制点 点的颜色根据self.color的值进行变换'''self.__paint_dot(__x, __y, self.color[angle])'''重写基类的重绘事件'''def paintEvent(self, event):'''用于自定义部件的外观绘制'''self.__paint_circle()

缩放事件

为了使UI更友好,我们可以重写基类的resizeEvent事件,使圆型可以根据窗口的大小自动变化大小

    def resizeEvent(self, event):'''当窗口或部件的大小发生改变时,resizeEvent方法会被自动调用''''''setGeometry 调整窗口部件的位置和大小'''__center_x = self.width() // 2__center_y = self.height() // 2											# 计算窗口的中心坐标__font_size = min(event.size().width(), event.size().height()) // 45	# 根据窗口的新尺寸计算字体大小__new_w = len(self.__wait_info()) * __font_size							# 计算文本框的新宽度'''计算文本框的新位置坐标'''__new_x =  __center_x - __new_w // 2__new_y = __center_y + self.__get_radius() + 10'''使用setGeometry方法设置文本框的新位置和大小'''self.text_edit.setGeometry(__new_x,__new_y,__new_w,int(__font_size * 2.7))'''调整字体大小'''self.font.setPointSize(__font_size)self.text_edit.setFont(self.font)

在缩放事件产生时,会自动触发重绘事件

代码获取

请从我的资源获取

http://www.dinnco.com/news/69740.html

相关文章:

  • wordpress ajax登陆seo点击排名工具
  • 建网站的详细案例徐州seo代理计费
  • 沈阳建设工程信息网职称公示2013年windows优化大师怎么下载
  • 中小网站建设企业网站模板设计
  • 北京 网站开发淘宝美工培训推荐
  • 天津网站建设icp备手机百度app免费下载
  • 如何做线上赌博的网站百度搜首页
  • 长沙网站外包网址收录入口
  • 买域名后怎么做网站西安百度快照优化
  • 有新浪的域名怎么做网站建网站一般需要多少钱
  • 凡科网站建设注册专业营销团队外包公司
  • 公司网站设计思路泉州百度竞价开户
  • 网页美工实训结论与心得体会福州短视频seo
  • 站酷设计网短视频询盘获客系统
  • 学校网站源码 带wap手机端网络舆情分析报告模板
  • tp5.1做的网站华为手机网络营销策划方案
  • 中文简洁网站设计图网络营销策略案例
  • 在中国建的网站google可收录吗外链工厂 外链
  • 网络招商平台网站怎么做太原竞价托管公司推荐
  • 动态网站建设与管理网络推广具体内容
  • 网站设计公司武汉如何接广告赚钱
  • 东莞网站设计制作山东seo网络推广
  • 广州网站设计皆赞乐云践新网站入口
  • 自己做的网站慢是什么原因外贸营销推广
  • 河北做网站电话软文代写平台有哪些
  • 帝国cms做动态网站性能如何宁德市自然资源局
  • 网站总是在建设中赣州seo唐三
  • 安徽省铜陵市建设局网站谷歌seo排名
  • 霍山有没有做建网站的百度广告投诉电话客服24小时
  • 如何将视频添加到网站上图片识别搜索引擎