Contents

原创作品,允许转载。转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。

在使用QLabel显示长文本(如长昵称、简介文本等)的时候,会因为QLabel的固定宽度使一部分文字截断得很不友好,一般的交互处理是在即将截断的文本后面显示省略号,以下为PyQt的实现:

1
2
3
# 根据label截断文本
def _truncatedText(self, str_text, label):
return QtGui.QFontMetrics(label.font()).elidedText(str_text, QtCore.Qt.ElideRight, label.width())

或者

1
2
3
# 根据截断文本
def _truncatedText(self, str_text, width):
return QtGui.QFontMetrics(label.font()).elidedText(str_text, QtCore.Qt.ElideRight, width)
Contents