Search code examples
pythonpyqtpyqt5qlabel

PyQt5 label cut off


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()

Solution

  • 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()
    

    enter image description here