04_HUD_Qt_for_Python开发之路2

简介: 04_HUD_Qt_for_Python开发之路2

image.png

欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈。


文章目录


HUD_Qt_for_Python开发之路2

1 设置程序名称

2 隐藏窗口标题栏

3 设置窗口透明裁剪

4 修改下窗口大小,重新加载

5 搞定网络模块

5.1 包含网络模块

5.2 初始化UDP Socket

HUD_Qt_for_Python开发之路2

1 设置程序名称

本片我们将正式开始我们HUD仪表的开发工作。这一篇首先要给我们的窗口重新命名为HUD使用代码如下:


widget.setWindowTitle("HUD"),代码位置如下图所示。

image.png

2 隐藏窗口标题栏


Python在Qt的中API基本还是保持了Qt原有的样子,好多东西还是可以参照的,就比如这个已隐藏窗口的标题栏,在传统C++中,我们使用setWindowFlag(Qt::FramelessWindowHint);在Python中使用setWindowFlag(QtCore.Qt.FramelessWindowHint,True),是不是很相似,现在看下我们整个main.py程序的全貌。

————————————————

版权声明:本文为CSDN博主「DreamLife.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/z609932088/article/details/119914698

# This Python file uses the following encoding: utf-8
import sys
import os
from PySide6 import QtCore
from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtCore import QFile
from PySide6.QtUiTools import QUiLoader
class HUD(QWidget):
    def __init__(self):
        super(HUD, self).__init__()
        self.load_ui()
    def load_ui(self):
        loader = QUiLoader()
        path = os.path.join(os.path.dirname(__file__), "hud.ui")
        ui_file = QFile(path)
        ui_file.open(QFile.ReadOnly)
        loader.load(ui_file, self)
        ui_file.close()
if __name__ == "__main__":
    app = QApplication([])
    widget = HUD()
    widget.setWindowTitle("HUD")            #设置标题名称
    widget.setWindowFlag(QtCore.Qt.FramelessWindowHint,True)                #设置程序隐藏标题栏
    widget.show()
    with open("images.qss","r") as f:
        _style = f.read()
        app.setStyleSheet(_style)
    sys.exit(app.exec_())

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

# This Python file uses the following encoding: utf-8
import sys
import os
from PySide6 import QtCore
from PySide6 import QtNetwork
from PySide6.QtNetwork import QUdpSocket
from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtCore import QFile,QObject
from PySide6.QtUiTools import QUiLoader
class HUD(QWidget):
    def __init__(self):
        super(HUD, self).__init__()
        self.load_ui()
        self.initSocket()
    def load_ui(self):
        loader = QUiLoader()
        path = os.path.join(os.path.dirname(__file__), "hud.ui")
        ui_file = QFile(path)
        ui_file.open(QFile.ReadOnly)
        loader.load(ui_file, self)
        ui_file.close()
    def initSocket(self):
        udpSocket = QUdpSocket(self)            #初始化
        udpSocket.bind(6876) #绑定端口
#        self.connect(udpSocket,SIGNAL('readyRead()'),self,SLOT('readPendingDatagrams'))
        udpSocket.readyRead.connect(self.readPendingDatagrams)             #新的信号槽编写方式
    def readPendingDatagrams(self):
        while udpSocket.hasPendingDatagrams:
            datagram = QByteArray()
            datagram.resize(udpSocket.pendingDatagramSize())
            (sender,senderPort) = udpSocket.readDatagram(datagram.data(), datagram.size())
            processTheDatagram(datagram)
            print(datagram)
if __name__ == "__main__":
    app = QApplication([])
    widget = HUD()
    widget.setWindowTitle("HUD")            #设置标题名称
    widget.setWindowFlag(QtCore.Qt.FramelessWindowHint,True)                #设置程序隐藏标题栏
    widget.setAttribute(QtCore.Qt.WA_TranslucentBackground,True)            #设置窗口透明
    widget.show()
    with open("images.qss","r") as f:
        _style = f.read()
        app.setStyleSheet(_style)
    sys.exit(app.exec_())
目录
相关文章
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
1682 20
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统源码+运行步骤
基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
665 7
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
1204 7
|
程序员 测试技术 开发工具
怎么开发Python第三方库?手把手教你参与开源项目!
大家好,我是程序员晚枫。本文将分享如何开发Python第三方库,并以我维护的开源项目 **popdf** 为例,指导参与开源贡献。Popdf是一个PDF操作库,支持PDF转Word、转图片、合并与加密等功能。文章涵盖从fork项目、本地开发、单元测试到提交PR的全流程,适合想了解开源贡献的开发者。欢迎访问[popdf](https://gitcode.com/python4office/popdf),一起交流学习!
521 21
怎么开发Python第三方库?手把手教你参与开源项目!
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
1661 1
|
算法 程序员 API
电商程序猿开发实录:淘宝商品python(2)
本文分享了开发者在对接淘宝商品详情API过程中的真实经历,涵盖权限申请、签名验证、限流控制、数据解析及消息订阅等关键环节,提供了实用的Python代码示例,帮助开发者高效调用API,提升系统稳定性与数据处理能力。
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
1271 0
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...

推荐镜像

更多