Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
k54kdk
PyQt Fluent Widgets
提交
8e9b508a
P
PyQt Fluent Widgets
项目概览
k54kdk
/
PyQt Fluent Widgets
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PyQt Fluent Widgets
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8e9b508a
编写于
4月 10, 2023
作者:
之一Yo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixes #106
上级
e0a949f0
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
35154 addition
and
35153 deletion
+35154
-35153
qfluentwidgets/_rc/qss/dark/tree_view.qss
qfluentwidgets/_rc/qss/dark/tree_view.qss
+1
-0
qfluentwidgets/_rc/qss/light/tree_view.qss
qfluentwidgets/_rc/qss/light/tree_view.qss
+1
-0
qfluentwidgets/_rc/resource.py
qfluentwidgets/_rc/resource.py
+35117
-35117
qfluentwidgets/components/widgets/combo_box.py
qfluentwidgets/components/widgets/combo_box.py
+35
-36
未找到文件。
qfluentwidgets/_rc/qss/dark/tree_view.qss
浏览文件 @
8e9b508a
...
...
@@ -5,6 +5,7 @@ QTreeView {
outline: 0;
padding-right: 5px;
font: 13px 'Segoe UI', 'Microsoft YaHei';
selection-background-color: transparent;
}
QTreeView::item {
...
...
qfluentwidgets/_rc/qss/light/tree_view.qss
浏览文件 @
8e9b508a
...
...
@@ -5,6 +5,7 @@ QTreeView {
outline: 0;
padding-right: 5px;
font: 13px 'Segoe UI', 'Microsoft YaHei';
selection-background-color: transparent;
}
QTreeView::item {
...
...
qfluentwidgets/_rc/resource.py
浏览文件 @
8e9b508a
此差异已折叠。
点击以展开。
qfluentwidgets/components/widgets/combo_box.py
浏览文件 @
8e9b508a
# coding:utf-8
from
typing
import
Dict
,
Union
,
List
,
Iterable
from
typing
import
Union
,
List
,
Iterable
from
PyQt5.QtCore
import
Qt
,
pyqtSignal
,
QRect
,
QRect
F
,
QPoint
,
QObject
,
QEvent
from
PyQt5.QtGui
import
Q
Color
,
Q
Painter
,
QCursor
,
QIcon
from
PyQt5.QtWidgets
import
QAction
,
QPushButton
,
Q
Widget
,
Q
StyledItemDelegate
,
QStyle
from
PyQt5.QtCore
import
Qt
,
pyqtSignal
,
QRectF
,
QPoint
,
QObject
,
QEvent
from
PyQt5.QtGui
import
QPainter
,
QCursor
,
QIcon
from
PyQt5.QtWidgets
import
QAction
,
QPushButton
,
QStyledItemDelegate
,
QStyle
from
.menu
import
RoundMenu
from
.line_edit
import
LineEdit
,
LineEditButton
...
...
@@ -59,7 +59,6 @@ class ComboBoxBase(QObject):
self
.
isHover
=
False
self
.
isPressed
=
False
self
.
items
=
[]
# type: List[ComboItem]
self
.
itemMap
=
{}
# type: Dict[str, ComboItem]
self
.
_currentIndex
=
-
1
self
.
dropMenu
=
None
...
...
@@ -89,11 +88,7 @@ class ComboBoxBase(QObject):
icon: str | QIcon | FluentIconBase
"""
if
not
text
or
text
in
self
.
itemMap
:
return
item
=
ComboItem
(
text
,
icon
,
userData
)
self
.
itemMap
[
text
]
=
item
self
.
items
.
append
(
item
)
def
addItems
(
self
,
texts
:
Iterable
[
str
]):
...
...
@@ -114,9 +109,7 @@ class ComboBoxBase(QObject):
if
not
0
<=
index
<
len
(
self
.
items
):
return
item
=
self
.
items
[
index
]
self
.
items
.
pop
(
index
)
self
.
itemMap
.
pop
(
item
.
text
)
if
index
<
self
.
currentIndex
():
self
.
_onItemClicked
(
self
.
_currentIndex
-
1
)
...
...
@@ -170,12 +163,14 @@ class ComboBoxBase(QObject):
text: str
text displayed in combo box
"""
if
text
not
in
self
.
itemMap
or
text
==
self
.
currentText
():
if
text
==
self
.
currentText
():
return
self
.
setCurrentIndex
(
self
.
items
.
index
(
self
.
itemMap
[
text
]))
index
=
self
.
findText
(
text
)
if
index
>=
0
:
self
.
setCurrentIndex
(
index
)
def
setItemText
(
self
,
index
,
text
):
def
setItemText
(
self
,
index
:
int
,
text
:
str
):
""" set the text of item
Parameters
...
...
@@ -186,12 +181,10 @@ class ComboBoxBase(QObject):
text: str
new text of item
"""
if
text
in
self
.
itemMap
or
not
0
<=
index
<
len
(
self
.
items
):
if
not
0
<=
index
<
len
(
self
.
items
):
return
item
=
self
.
itemMap
.
pop
()
item
.
text
=
text
self
.
itemMap
[
text
]
=
item
self
.
items
[
index
].
text
=
text
if
self
.
currentIndex
()
==
index
:
self
.
setText
(
text
)
...
...
@@ -236,10 +229,11 @@ class ComboBoxBase(QObject):
def
findText
(
self
,
text
:
str
):
""" Returns the index of the item containing the given text; otherwise returns -1. """
if
text
not
in
self
.
itemMap
:
return
-
1
for
i
,
item
in
enumerate
(
self
.
items
):
if
item
.
text
==
text
:
return
i
return
self
.
items
.
index
(
self
.
itemMap
[
text
])
return
-
1
def
clear
(
self
):
""" Clears the combobox, removing all items. """
...
...
@@ -247,7 +241,6 @@ class ComboBoxBase(QObject):
self
.
setText
(
''
)
self
.
items
.
clear
()
self
.
itemMap
.
clear
()
self
.
_currentIndex
=
-
1
def
count
(
self
):
...
...
@@ -256,12 +249,8 @@ class ComboBoxBase(QObject):
def
insertItem
(
self
,
index
:
int
,
text
:
str
,
icon
:
Union
[
str
,
QIcon
,
FluentIconBase
]
=
None
,
userData
=
None
):
""" Inserts item into the combobox at the given index. """
if
not
text
or
text
in
self
.
itemMap
:
return
item
=
ComboItem
(
text
,
icon
,
userData
)
self
.
items
.
insert
(
index
,
item
)
self
.
itemMap
[
text
]
=
item
if
index
<=
self
.
currentIndex
():
self
.
_onItemClicked
(
self
.
currentIndex
()
+
1
)
...
...
@@ -270,12 +259,8 @@ class ComboBoxBase(QObject):
""" Inserts items into the combobox, starting at the index specified. """
pos
=
index
for
text
in
texts
:
if
not
text
or
text
in
self
.
itemMap
:
continue
item
=
ComboItem
(
text
)
self
.
items
.
insert
(
pos
,
item
)
self
.
itemMap
[
text
]
=
item
pos
+=
1
if
index
<=
self
.
currentIndex
():
...
...
@@ -381,16 +366,30 @@ class EditableComboBox(LineEdit, ComboBoxBase):
self
.
dropButton
.
clicked
.
connect
(
self
.
_toggleComboMenu
)
self
.
textEdited
.
connect
(
self
.
_onTextEdited
)
self
.
returnPressed
.
connect
(
lambda
:
self
.
addItem
(
self
.
text
())
)
self
.
returnPressed
.
connect
(
self
.
_onReturnPressed
)
def
_onTextEdited
(
self
,
text
:
str
):
if
text
not
in
self
.
itemMap
:
self
.
_currentIndex
=
-
1
else
:
self
.
_currentIndex
=
self
.
items
.
index
(
self
.
itemMap
[
text
])
def
_onReturnPressed
(
self
):
if
not
self
.
text
():
return
index
=
self
.
findText
(
self
.
text
())
if
index
>=
0
and
index
!=
self
.
currentIndex
():
self
.
_currentIndex
=
index
self
.
currentIndexChanged
.
emit
(
index
)
elif
index
==
-
1
:
self
.
addItem
(
self
.
text
())
self
.
setCurrentIndex
(
self
.
count
()
-
1
)
def
_onTextEdited
(
self
,
text
:
str
):
self
.
_currentIndex
=
-
1
self
.
currentTextChanged
.
emit
(
text
)
for
i
,
item
in
enumerate
(
self
.
items
):
if
item
.
text
==
text
:
self
.
_currentIndex
=
i
self
.
currentIndexChanged
.
emit
(
i
)
return
def
_onDropMenuClosed
(
self
):
self
.
dropMenu
=
None
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录