pyqt5-custom-widgets 中文使用文档
目录
前言:
欢迎阅读PyQt5自定义小部件文档,你可以在pyqt5-custom-widgets中查看showcase.py
,以清楚地看到所有部件的演示。 下面是当前实现的小部件列表:
库提供的其他东西,但主要不是部件。有些是工具,数据类等…
安装:
使用PIP安装(根据您的平台,可能是pip3或python3):
python -m pip install pyqt5Custom
或者
pip install pyqt5Custom
此外,您还可以使用PySide2来代替PyQt5,只需进行一些更改。
用法示例:
只需导入pyqt5Custom,就可以开始了。你可以看看Examples,一个关于StyledButton小部件的小例子:
from pyqt5Custom import StyledButton
...
btn = StyledButton(text="Hello!")
btn.setStyleDict({
"border-radius" : 20,
"font-family" : "Helvetica",
"font-size" : 17
})
@btn.clicked.connect
def slot():
print("Quitting!")
app.exit()
layout.addWidget(btn)
...
import sys
# 从PyQt5.QtWidgets/QtGui/QtCore,导入所有的类,对象,函数等
# 建议只导入所需的特定类和函数
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from pyqt5Custom import *
# 导入自定义的UI界面类,该类由Qt Designer生成
from Label import Ui_MainWindow
from pyqt5Custom import *
from pyqt5Custom import StyledButton
# 定义一个名为The_xzs的类,它继承自QWidget,是一个基本的窗口组件
class The_xzs(QMainWindow, Ui_MainWindow):
# 定义The_xzs类的构造函数,它接受一个可选的parent参数,默认为None
def __init__(self, parent=None):
# 调用父类QWidget的构造函数,初始化window对象
super(The_xzs, self).__init__(parent)
self.setupUi(self) # 使用自定义UI界面类设置界面
self.setFixedSize(800, 600);
# 假设您想要在已有的界面上添加一个新的按钮
self.btn = StyledButton(text="登录")
self.btn.setStyleDict({
"background-color" : (52, 199, 89),
"border-color" : (2, 199, 89),
"border-radius" : 39,
"color" : (255, 255, 255),
"font-family" : "SF Pro Display",
"font-size" : 21,
})
# 获取中央部件的布局引用,centralWidget(),为对应的页面设置布局
central_layout = self.centralWidget().layout()
# 如果中央部件没有布局,创建一个新的布局
if central_layout is None:
central_layout = QVBoxLayout(self.centralWidget())
self.centralWidget().setLayout(central_layout)
# 将按钮添加到布局中
central_layout.addWidget(self.btn,alignment=Qt.AlignHCenter)
self.btn.setGeometry(100, 100, 140, 50)
# 连接点击事件
self.btn.clicked.connect(self.on_btn_clicked)
def on_btn_clicked(self):
print("Button clicked!") # 按钮点击时执行的操作
# 常用的Python模式,检查当前脚本是否作为主程序运行
# 如果是,就调用main函数
# 创建和运行PyQt5应用程序
if __name__ == '__main__':
# 创建一个QApplication对象,它是所有PyQt5应用程序的基础,sys.argv包含了命令行参数
app = QApplication(sys.argv)
# 创建The_xzs类的实例
xs = The_xzs()
# 显示窗口
xs.show()
# 启动应用程序的事件循环,app.exec_()会阻塞直到应用程序退出
# sys.exit用来退出Python解释器,app.exec_()的返回值通常作为退出状态码传递给sys.exit
sys.exit(app.exec_())
正文:
ToggleSwitch(拨动开关):
ToggleSwitch
只是一个看起来很现代的复选框。它有3种样式,分别是win10, ios和android。
参数:
-
text
(str) : 显示在开关旁边的文本。 -
style
(str) : 部件的样式。“win10”、“ios”或“android”。 -
on
(bool) : 开关是否被打开。
方法:
-
isToggled()
(bool) : 返回开关状态。
信号:
-
toggled
: 当switch的状态发生改变时,就会发出这个信号。
StyledButton(风格按钮):
StyledButton是一个动画按钮。它有两个样式:flat和hyper。
参数:
-
text
(str) : 显示在按钮内的文本。 -
style
(str) : 部件的样式。 "flat" 或者 "hyper"。 -
icon
(str) : 图标的文件路径。可选参数。 -
fixedBottom
(bool) : 超样式按钮的底部是否固定。可选参数。
方法:
-
setIcon(filepath)
: 更改按钮图标。 -
setDropShadow(bool)
: 启用或禁用按钮的投影效果。
ImageBox(图像框):
ImageBox是一个图像或gif动画的容器。
参数:
-
source
(str) :源图像/gif的文件路径或URL -
keepAspectRatio
(bool) : 源文件路径或URL保护宽高比。可选参数。 -
smoothScale
(bool) : 平滑变换图像。可选参数。
方法:
-
setIcon(filepath)
: 更改按钮图标
ColorPicker(颜色提取):
ColorPicker尚未完成。
DragDropFile(拖放文件框):
DragDropFile
是一个让用户简单地将文件放入其中,而不是在文件对话框中浏览文件的区域。
信号:
-
fileDropped(file)
:文件详细信息:该信号在widget上放置文件时发出
EmbedWindow(对话框窗口):
EmbedWindow
:是一个对话框窗口,不是弹出式窗口,它嵌入到父组件中。
参数:
-
parent
(QWidget) :窗口的父组件。
属性:
-
content
(QLayout) : 窗口的布局,您可以在其中添加自己的小部件。
方法:
-
setTitle(title)
: 更改窗口标题。 -
setControlsVisible(bool)
: 更改控制按钮的可见性。
CodeTextEdit(代码文本编辑器):
CodeTextEdit
:只是一个代码编辑器。它是一个语法高亮的多行文本区域,目前只支持少数语言。
方法:
-
setTheme(theme)
: 改变语法着色主题。 -
setLang(lang)
: 改变语言语法。 -
loadFile(filepath)
: 加载文件内容到编辑器。
TitleBar(标题栏):
TitleBar
允许开发人员使用自定义窗口标题栏,这个widget还提供窗口大小调整控件(WIP)
参数:
-
parent
(QWidget) : 窗口的父组件。 -
title
(str) : 窗口标题(可选)。
属性:
-
closeButton
(StyledButton) : 关闭按钮。 -
maxButton
(StyledButton) : 最大化按钮。 -
minButton
(StyledButton) : 最小化按钮。
方法:
-
setTitle(title)
: 改变标题。 -
title()
(str) : 获取标题。
Spinner(旋转视觉组件)
Spinner
只是一个视觉组件,上面有一个旋转的圆圈。你可以在有图标的部件上使用它作为icon
参数。
参数:
-
width
(float) : 圆的宽度。 -
color
(QColor) : 圆的颜色。
Toast(通知组件)
Toast
是出现在窗口底部的通知组件。
参数:
-
parent
(QWidget) : 父窗口小部件。 -
text
(str) : 部件的文本(可选)。 -
icon
(str/Spinner) : widget图标(可选)。 -
closeButton
(bool) : 是否显示关闭按钮。
方法:
-
rise(duration: int)
: 显示toast通知持续时间为秒。 -
fall()
: 隐藏toast通知。
其他:
库提供的其他东西,但主要不是小部件。有些是工具、数据类等等……
RequestHandler(请求处理器):
RequestHandler
是一个线程(QThread),可以用来处理HTTP请求,同时避免阻塞Qt的事件循环。你可以在https://github.com/kadir014/pyqt5-custom-widgets/blob/main/examples/中看到这个类的用法。
方法:
-
newRequest(method, url, headers, data)
-
method
(str) : 请求方法。 -
url
(str) : 发送请求的地址。 -
headers
(dict) : 请求头。 -
data
(dict) : 请求数据。
-
信号:
-
requestResponded
: 当当前池中的请求得到响应时触发。响应是一个 requests.Response 对象。
FileDetails(文件详细信息):
‘ FileDetails ’对象是一个数据类,它意味着‘ DragDropFile ’用于‘ fileddrop ’信号。
属性:
-
path
(str) :文件地址。 -
content
(str) : 文件的内容。 -
name
(str) : 文件的名字。 -
pureName
(str) : 没有扩展名的文件名。 -
extension
(str) : 文件的扩展名。
Animation(动画 ):
‘ Animation ’只是一个静态类,它包含了缓和动画功能。当我重新制作动画时,这个类很可能会被弃用。
AnimationHandler(动画处理程序):
‘ AnimationHandler ’使用‘ Animation ’类的函数来动画小部件的属性。当我重新制作动画时,这个类很可能会被弃用。
ColorPreview(色彩预览):
“ColorPreview”是一个显示一些颜色的小部件。它可以在ColorPicker示例旁边看到。但是这个小部件很可能会被弃用。
SyntaxHighlighter(代码高亮 ):
‘ SyntaxHighlighter ’继承‘ QSyntaxHighlighter ’,它的唯一目的是服务‘ CodeTextEdit ’小部件。‘ pyqt5Custom ’模块目前仅支持Python和c++语法高亮显示。
原文地址:https://blog.csdn.net/The_xz/article/details/144331594
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!