QT pyqt pyside2 QLabel 自動換行設置注意點

QT pyqt pyside2 QLabel 自動換行設置注意點

先看效果:app

PySide2(QT5) 的 QT Designer (我在 QT4 的 designer 中不能夠直接看效果,可能須要設置什麼)能直接在編輯器中看效果,Label設置以下:編輯器

注意:不要在同HorizonLayout中加彈簧,Label Horizontal 必須是 Expanding 的,很長的英文單詞並不會像中文那樣會分開換行,因此注意英文單詞之間要用空格鍵隔開。ide

代碼:測試

 1 # -*- coding: utf-8 -*-
 2 
 3 # Form implementation generated from reading ui file '.\labelAutoMultiLine.ui'
 4 #
 5 # Created: Fri Nov 02 19:02:05 2018
 6 #      by: pyside-uic 0.2.15 running on PySide 1.2.4
 7 #
 8 # WARNING! All changes made in this file will be lost!
 9 
10 from PySide import QtCore, QtGui
11 
12 class Ui_Form(object):
13     def setupUi(self, Form):
14         Form.setObjectName("Form")
15         Form.resize(315, 86)
16         self.horizontalLayout = QtGui.QHBoxLayout(Form)
17         self.horizontalLayout.setObjectName("horizontalLayout")
18         self.pushButton = QtGui.QPushButton(Form)
19         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
20         sizePolicy.setHorizontalStretch(0)
21         sizePolicy.setVerticalStretch(0)
22         sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
23         self.pushButton.setSizePolicy(sizePolicy)
24         self.pushButton.setMinimumSize(QtCore.QSize(64, 64))
25         self.pushButton.setMaximumSize(QtCore.QSize(64, 64))
26         self.pushButton.setObjectName("pushButton")
27         self.horizontalLayout.addWidget(self.pushButton)
28         self.label = QtGui.QLabel(Form)
29         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
30         sizePolicy.setHorizontalStretch(0)
31         sizePolicy.setVerticalStretch(0)
32         sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
33         self.label.setSizePolicy(sizePolicy)
34         self.label.setWordWrap(True)
35         self.label.setObjectName("label")
36         self.horizontalLayout.addWidget(self.label)
37 
38         self.retranslateUi(Form)
39         QtCore.QMetaObject.connectSlotsByName(Form)
40 
41     def retranslateUi(self, Form):
42         Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8))
43         self.pushButton.setText(QtGui.QApplication.translate("Form", "Button", None, QtGui.QApplication.UnicodeUTF8))
44         self.label.setText(QtGui.QApplication.translate("Form", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
labelAutoMultiLine_ui_pyside.py
 1 # -*- coding: utf-8 -*-
 2 import sys
 3 from PySide import QtCore, QtGui
 4 import labelAutoMultiLine_ui_pyside as ui
 5 
 6 class TestWindow(QtGui.QWidget, ui.Ui_Form):
 7     def __init__(self, parent = None):
 8         super(TestWindow, self).__init__(parent)
 9         self.setupUi(self)
10         
11         self.label.setWordWrap(True)    #也能夠在qt designer中對label的屬性設置
12         self.label.setText(u'測試Label自動換行,SDFSDF SFSDF 啊啊啊啊啊啊')      # 若是在designer中設置好很長的text,在代碼中不設置,則可能不會自動換行
13         
14 def main():
15     app = QtGui.QApplication(sys.argv)
16     win = TestWindow()
17     win.show()
18     sys.exit(app.exec_())
19     
20 if __name__ == '__main__':
21     main()
相關文章
相關標籤/搜索