我刚刚开始使用Python PyQt5,我正在尝试制作一个GUI。这一切都正常,但我对文本框有问题。每次文本框被填满,我尝试添加更多内容时,它的大小都保持不变,只是在文本框中添加了一个小滚动条。我想要的是文本框根据文本的大小重新调整,以便您始终可以看到文本。我怎样才能做到这一点
这是我目前的代码:
#Import Module
from PyQt5.QtGui import QFont
from PyQt5 import QtWidgets
from PyQt5 import QtCore
from PyQt5 import QtGui
import sys
#Create Main Class
class AddToDeckWindow(QtWidgets.QMainWindow):
def __init__(self):
super(AddToDeckWindow, self).__init__()
#Set The UI
self.initUI()
#Set The GUI Position And Size
self.setGeometry(200, 200, 900, 710)
#Set The GUI Title
self.setWindowTitle("Add")
#Set The GUI Icon
self.setWindowIcon(QtGui.QIcon('give_way.png'))
#Set The Translator
_translate = QtCore.QCoreApplication.translate
def initUI(self):
widAddToDeckWindow = QtWidgets.QWidget(self)
#Create The Text Box
self.setCentralWidget(widAddToDeckWindow)
textBox = QtWidgets.QTextEdit(widAddToDeckWindow)
textBox.setGeometry(200, 200, 500, 200)
#Set The Font
font = QFont()
font.setPointSize(14)
textBox.setFont(font)
#Create A Windows
def window():
app = QtWidgets.QApplication(sys.argv)
win = AddToDeckWindow()
#Centers The Window On The Screen
qtRectangle = win.frameGeometry()
centerPoint = QtWidgets.QDesktopWidget().availableGeometry().center()
qtRectangle.moveCenter(centerPoint)
win.move(qtRectangle.topLeft())
win.show()
sys.exit(app.exec_())
window()
首先,请考虑使用{{a1},使用固定几何图形(如你所做的)而不是,这被认为是不好的练习,也是一个非常强的<坏> /强>想法。
例如,在您的例子中,如果我尝试将窗口大小调整为小于文本编辑右下角的大小,它将部分(或完全)不可见
我强烈建议您不要使用这种模式(实际上,几乎每个人都会这样),因为如果您想显示如此大的边距,只需正确使用布局属性即可
也就是说,如果要根据文本编辑的内容调整其大小,必须实现一个不断检查其^{} 的函数
然后,您应该选择是否设置^{} ,或者更好的是设置^{} ,如果没有更多可用空间,布局将使用它来限制其大小。我强烈建议你使用后者
对于
minimumHeight
,请使用以下命令:相关问题 更多 >
编程相关推荐