TransferDog 是使用 python 与 pyside6 写的一个文件传输程序。 地址:https://github.com/funway/TransferDog
PySide6 实现 Qt 程序的多语言
1 在源码中事先准备好字符串 对于要进行多语言翻译的字符串,需要在 coding 的时候使用 QCoreApplication.translate() 或者 QObject.tr() 这两个静态方法预埋好“翻译入口”。 如下图所示: 当程序运行时,这两个方 ...
使用 QLocalSocket 与 QLocalServer 实现程序的单实例运行。
之前在 这篇文章 中,曾用 QSharedMemory 实现了 QT 程序的单实例运行。 除此之外,还有一种方式是使用 QLocalSocket 与 QLocalServer 实现。 与 QSharedMemory 相比,QLocalSocket 更麻烦一 ...
Qt: border-radius of page in QToolBox are broken —— QToolBox 中 page 的圆角边框无法闭合问题排查
1 异常现象 今天用到了 QToolBox,然后想给每个 page 添加圆角边框,于是使用了如下 stylesheet QToolBox > QWidget { border: 1px solid silver; border-radius: 6px ...
Qt: QTreeView 可视区域内节点判断与滚动事件
这两天遇到两个问题: 1、对于一个 QTreeView,如何判断一个节点的 QModelIndex 是否处于 QTreeView 可视区域内。当 QTreeView 中有太多节点,必然有些节点是处于可视区域外部的,不显示的。QTreeView 也不会对这些 ...
Qt: 自定义 QWidget 响应 StyleSheet 样式
1. 必须重写 paintEvent() 根据官方文档的说明,如果希望自定义的 QWidget 派生类能够响应 StyleSheet 中定义的样式,就必须用如下代码重写 paintEvent() 方法。(其实应该叫做实现 paintEvent(),因为 Q ...
QWidget 鼠标事件穿透
假设现在有两个重叠显示的 QWidget 部件,widget_1 与 widget_2。二者无父子关系,只是位置重叠,widget_1 在 widget_2 之上,如下图所示。 这个时候如果鼠标点击在 widget_1 上,widget_2 是不会响应鼠标 ...
Qt:QWidget 的绘制逻辑(源码分析)
一、QWidget QWidget 既是 QObject 的子类,也是 QPaintDevice 的子类! 而 QPainter 类实例,都要有一个目标 device! TLW(Top Level Widget)顶层窗口,可以看作是 “没有 parent ...
Qt: 自定义 QTreeView(2)- 显示自定义 widget 以及 GIF
本文所涉及代码:https://github.com/funway/TestQTreeView 一、自定义 Widget 由于我们的自定义 widget 是由几种内建 widget 组合而来,所以不需要在 paintEvent() 方法中进行手工绘制。pa ...
Qt: 自定义 QTreeView(1)
一、QTreeView 基本使用 下面的代码通过 QTreeView 实现一个任务列表的树形展示,任务列表包含两级结构:任务组与任务。 import logging, sys from PyQt6 import QtCore from PyQt6.QtWi ...