Форум сайта python.su
День добрый. Подскажите пожалуйста, как сделать таблицу (QTableWidget) по ширине окна? Чтобы при растягивании окна таблица тоже двигалась.
self.tab1 = QWidget() self.tab_widget.addTab(self.tab1, u" %s" % tab) self.table = {} self.table[0] = MyTable.MyTable(header1, 1, 6, self.tab1) self.table[0].resize(525, 430) self.table[0].show()
Отредактировано Pomidor (Фев. 10, 2015 23:17:52)
Офлайн
Можно разместить таблицу в лэйауте, а лэйаут - в виджете, кторый в таб добавляете
self.tab1 = QWidget() self.tab_widget.addTab(self.tab1, u" %s" % tab) self.table = {} self.table[0] = MyTable.MyTable(header1, 1, 6, self.tab1) vb = QVBoxLayout() # или QHBoxLayout() vb.addWidget(self.table[0]) self.tab1.setLayout(vb) self.tab_widget.resize(525,430)
Офлайн
Спасибо. А ещё такой вопрос возник, вернее даже два.
Можно как-то разместить 2 виджета (QPushButton) в одной ячейке (я QVbox на QGridLayout заменил) QGridLayout-а?
Я почитал, что есть какой-то параметр “alignmen”, но все благополучно пишут, что он имеет значение по умолчанию - 0. А не по умолчанию - лева/право не известно.
И можно ли как-то выравнивать содержимое ячейки QGridLayout по вертикали?
Заранее благодарен))
Офлайн
Про значение флага alignment можно почитать здесь:
http://pyqt.sourceforge.net/Docs/PyQt4/qt.html#AlignmentFlag-enum
про метод QGridLayout.addWidget() можно почитать тут:
http://pyqt.sourceforge.net/Docs/PyQt4/qgridlayout.html#addWidget-3
там сказано, что 4-й и 5-й параметры этого метода - это количество строк и, соответственно, столбцов, на которые будет растягиваться добавляемый виджет с указанным в 6-м параметре выравниванием.
Еще, как вариант, можно две кнопки разместить в горизонтальном лэйауте, лэйаут поместить в виджет, а виджет добавить в грид-лэйаут.
Офлайн
Супер, с большего разобрался, спасибо большое!!!)
Офлайн