IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> pyqt5常见问题 -> 正文阅读

[Python知识库]pyqt5常见问题

python版本3.8.10

  1. 方便做窗口设计的利器desinger,安装之后pyqt5-tools不会创建快捷方式的问题,pyqt的desinger路径: **\Python38\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
  2. 在desinger设计加载静态资源(网页,本地html)找不到QWebEngineView控件,先创建一个QWidget然后将其提升为QWebEngineView,头文件为PyQt5.QtWebEngineWidgets
  3. 客户端无法拖动的问题,在继承QWidget类下重写鼠标动作函数
	self.m_Position = None
	self.m_flag = None
    def mousePressEvent(self, event):
        if event.button() == Qt.LeftButton:
            self.m_flag = True
            self.m_Position = event.globalPos() - self.pos()  # 获取鼠标相对窗口的位置
            event.accept()
            self.setCursor(QCursor(Qt.OpenHandCursor))  # 更改鼠标图标

    def mouseMoveEvent(self, QMouseEvent):
        if Qt.LeftButton and self.m_flag:
            self.move(QMouseEvent.globalPos() - self.m_Position)  # 更改窗口位置
            QMouseEvent.accept()

    def mouseReleaseEvent(self, QMouseEvent):
        self.m_flag = False
        self.setCursor(QCursor(Qt.ArrowCursor))
  1. 客户端显示位置问题,显示在屏幕中央
screen = QDesktopWidget().screenGeometry()
size = clientInstance.geometry()
widgetInstance.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2))
  1. 客户端可以启动多个exe的问题,使用共享内存变量,相当于一把锁同时只能一个exe占用
share = QSharedMemory()
share.setKey("main_window")
if share.attach():
	logger.warning("程序已启动,请勿重复启动!")
	sys.exit(-1)
if share.create(1):
	goto('regular process step...')
  1. 启动客户端的时候创建快捷方式
def set_shortcut():
    mainpath = os.path.dirname(__file__)
    try:
        filename = mainpath + r"\client.exe"  # 可执行exe绝对路径
        iconname = app_path() + r"\images\client.ico"
        desktop = os.path.join(os.path.expanduser('~'), "Desktop")
        lnkname = desktop + r"\client.lnk"

        shortcut = pythoncom.CoCreateInstance(
            shell.CLSID_ShellLink, None,
            pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink)
        shortcut.SetPath(filename)
        # 设置快捷方式的起始位置
        shortcut.SetWorkingDirectory(mainpath)
        # 快捷方式桌面图标
        shortcut.SetIconLocation(iconname, 0)
        if os.path.splitext(lnkname)[-1] != '.lnk':
            lnkname += ".lnk"
        shortcut.QueryInterface(pythoncom.IID_IPersistFile).Save(lnkname, 0)

        return True
    except Exception as e:
        logger.warning("创建桌面快捷方式失败:{}", e.args)
        return False
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章           查看所有文章
加:2022-04-07 22:39:25  更:2022-04-07 22:41:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:38:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码