PyQt5标签被切断
问题描述
当我运行这个程序时,我的部分标签被切断了.有没有什么办法解决这一问题?我猜它与 setFont 有关,因为当我删除 l1.setFont 时,所有文本都会显示.如果可能,请列出不会过多改变 GUI 的解决方案.
When I run this program, parts of my label gets cut off. Is there any way to fix this? I'm guessing it has to do with setFont, because when I remove l1.setFont all the text shows. If possible, please list solutions that doesn't alter the GUI too much.
import sys
from PyQt5 import QtGui, QtWidgets, QtCore, Qt
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class App(QtWidgets.QMainWindow):
def __init__(self):
super(App, self).__init__()
self.setWindowTitle('Test GUI')
self.setWindowIcon(QtGui.QIcon('logo.png'))
self.setGeometry(800, 500, 500, 500)
self.ui()
def ui(self):
l1 = QtWidgets.QLabel(self)
l1.setText('Text')
l1.setFont(QtGui.QFont('Arial', 50))
l1.move(100, 100)
self.show()
def main():
app = QtWidgets.QApplication(sys.argv)
GUI = App()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
解决方案
既然你改变了字体的大小,你必须调整字体的大小,你必须使用 adjustSize()
:
Since you have changed the size of the font you must adjust the size for that you must use adjustSize()
:
def ui(self):
l1 = QtWidgets.QLabel(self)
l1.setText('Text')
l1.setFont(QtGui.QFont('Arial', 50))
l1.adjustSize()
l1.move(100, 100)
self.show()
相关文章