qlabel设置换⾏符⽆效_在QLabel上设置换⾏符可以打破风的
⼤⼩限制
我有以下代码:import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \
"Nullam malesuada tellus in ex elementum, vitae rutrum enim vestibulum."
#==============================================================================
class Window(QWidget):
def __init__(self, *args, **kwargs):
QWidget.__init__(self, *args, **kwargs)
# Widgets
self.label = QLabel(TEXT, self)
# self.label.setWordWrap(True)
< = QTextEdit(self)
# Layout
self.layout = QGridLayout()
self.layout.addWidget(self.label, 0, 0)
self.layout., 1, 0)
invalids
self.layout.setContentsMargins(5, 5, 5, 5)
self.layout.setSpacing(5)
self.setLayout(self.layout)
self.adjustSize()
self.show()
#==============================================================================
if __name__ == "__main__":
app = QApplication(sys.argv)
win = Window()
<_())
它按预期⼯作,⽣成⼀个窗⼝,窗⼝⼤⼩不能调整为更⼩:
然⽽,当我取消注释self.label.setWordWrap(True)⾏时,这些约束似乎消失了。我可以将窗⼝⼤⼩调整为更⼩,完全打破布局,因为QTextEdit仍然保留其⼤⼩限制:
我试着⽤self.setMinimumSize(self.size())来解决这个问题。对于这个特定的例⼦来说,这是有效的,但是如果⼤⼩更⼤,⽐如setMinimumSize(480, 800),则会中断。这使得窗⼝即使在创建时也太⼩,因此setMinimumSize没有帮助:
有没有⼀种⽅法可以修复它并使窗⼝/布局仍然匹配最⼩⼤⼩QTextEdit,即使启⽤了⾃动换⾏?
版本信息:OS: Windows-7-SP1 (32bit)
Python: 3.4.1
PyQt: 5.3.1
Qt: 5.3.1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。