Skip to content

Commit 9c08eab

Browse files
biubiubiu533muyr
authored andcommitted
fix: fix MLabel
1 parent 808a86f commit 9c08eab

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

dayu_widgets/label.py

+16-5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
from __future__ import division
1212
from __future__ import print_function
1313

14+
# Import built-in modules
15+
import re
16+
1417
# Import third-party modules
1518
from Qt import QtCore
1619
from Qt import QtWidgets
@@ -132,15 +135,15 @@ def text(self):
132135
133136
:returns: The original unmodified text
134137
"""
135-
return self.property("text")
138+
return self.property("dayu_text")
136139

137140
def setText(self, text):
138141
"""
139142
Overridden base method to set the text on the label
140143
141144
:param text: The text to set on the label
142145
"""
143-
self.setProperty("text", text)
146+
self.setProperty("dayu_text", text)
144147
self._update_elided_text()
145148
self.setToolTip(text)
146149

@@ -160,10 +163,18 @@ def _update_elided_text(self):
160163
Update the elided text on the label
161164
"""
162165
_font_metrics = self.fontMetrics()
163-
text = self.property("text")
166+
text = self.property("dayu_text")
164167
text = text if text else ""
165-
_elided_text = _font_metrics.elidedText(text, self._elide_mode, self.width() - 2 * 2)
166-
super(MLabel, self).setText(_elided_text)
168+
# 检查文本是否包含 HTML 标签
169+
is_html = bool(re.search(r"<[^>]+>", text))
170+
171+
if is_html:
172+
# 如果文本包含 HTML 标签,直接设置富文本
173+
super(MLabel, self).setText(text)
174+
else:
175+
# 否则,使用省略模式设置文本
176+
_elided_text = _font_metrics.elidedText(text, self._elide_mode, self.width() - 2 * 2)
177+
super(MLabel, self).setText(_elided_text)
167178

168179
def resizeEvent(self, event):
169180
"""

0 commit comments

Comments
 (0)