#python #pyqt
#python #pyqt
Вопрос:
Я бы хотел что-то вроде этого:
self.name_textbox.setColumnSpan(2)
Уже пробовал поместить все остальное в один гигантский столбец.
Не сработало так хорошо.
Комментарии:
1. Не могли бы вы пояснить, что вы имеете в виду? Вы имеете в виду охват внутри QGridLayout?
2. Да, это то, что я имел в виду
Ответ №1:
Охват строк и столбцов не может быть установлен для виджета, так как за это отвечает макет.
Чтобы изменить охват виджета, который уже находится в макете, просто вызовите addWidget()
снова с новым значением span .
class Test(QtWidgets.QWidget):
def __init__(self):
super().__init__()
layout = QtWidgets.QGridLayout(self)
expandButton = QtWidgets.QPushButton('Expand')
layout.addWidget(expandButton)
expandButton.clicked.connect(self.expand)
collapseButton = QtWidgets.QPushButton('Collapse')
layout.addWidget(collapseButton, 0, 1)
collapseButton.clicked.connect(self.collapse)
self.lineEdit = QtWidgets.QLineEdit()
layout.addWidget(self.lineEdit)
def expand(self):
self.layout().addWidget(self.lineEdit, 1, 0, 1, 2)
def collapse(self):
self.layout().addWidget(self.lineEdit, 1, 0, 1, 1)