嗯,我有一个文本编辑器,上面有一个按钮。。。我希望文本编辑器位于一个布局中,这样它就可以增大和减小它的大小QDialog
,但是我不想对按钮做同样的操作,顺便说一句,它没有我想要的大小,也无法更改它。我能做什么?
代码:
from PyQt4 import QtCore, QtGui
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class TextEditorDlg(QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.resize(500, 400)
self.Grid = QtGui.QGridLayout(self)
self.button = QtGui.QPushButton(self)
self.Grid.addWidget(self.button, 0, 0)
self.lineEdit = QtGui.QLineEdit(self)
self.textEdit = QtGui.QTextEdit(self)
self.Grid.addWidget(self.lineEdit, 1, 0)
self.Grid.addWidget(self.textEdit, 2, 0)
if __name__ == '__main__':
app = QApplication(sys.argv)
myapp = TextEditorDlg()
myapp.show()
sys.exit(app.exec_())
现在看到问题了吗?
首先,我不明白你为什么要使用
QGridLayout
。你知道你根本不用网格吗?您只需使用QVBoxLayout
。总之,正如我在评论中提到的,您可能可以使用
QHBoxLayout
和addStretch
方法获得所需的“输出”:您可以调整将整数传递给^{} 的拉伸量。
如果要使用
QGridLayout
将按钮放置在特定位置,则应该执行以下操作:可以使用正确的行和列索引以及行跨距和列跨距值将按钮精确地放置在所需的位置。
编辑:如果要更改
QPushButton
的大小,必须更改按钮的QSizePolicy
和QTextEdit
的策略。例如:你会看到按钮更大。您可以通过更改行间距来控制大小。 在第
self.grid.addWidget(self.button, 0, 0, 3, 1)
行中,增大/减小3
将增大/减小垂直大小(实际上是小部件占用的行数),增大/减小1
将更改水平大小。注意,如果将小部件放在跨
3
行的0
行,则必须小心不要创建冲突,将新的小部件添加到布局中。相关问题 更多 >
编程相关推荐