Найти - Пользователи
Полная версия: Resize QTableWidget
Начало » GUI » Resize QTableWidget
1
Pomidor
День добрый. Подскажите пожалуйста, как сделать таблицу (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()

Вот такой код - никак не представляю, что с ним делать, чтобы растягивалось по ширине окна.
Таблица находится в таб виджете.
Подскажите пожалуйста функцию какую или ссылку на источник почитать.
Заранее благодарен).
KriO
Можно разместить таблицу в лэйауте, а лэйаут - в виджете, кторый в таб добавляете
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)

Можно ещё сразу таблицу в таб-виджет добавлять, если Вы не планируете больше ничего, кроме таблицы в него добавлять.
Pomidor
Спасибо. А ещё такой вопрос возник, вернее даже два.
Можно как-то разместить 2 виджета (QPushButton) в одной ячейке (я QVbox на QGridLayout заменил) QGridLayout-а?
Я почитал, что есть какой-то параметр “alignmen”, но все благополучно пишут, что он имеет значение по умолчанию - 0. А не по умолчанию - лева/право не известно.
И можно ли как-то выравнивать содержимое ячейки QGridLayout по вертикали?
Заранее благодарен))
KriO
Про значение флага 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-м параметре выравниванием.
Еще, как вариант, можно две кнопки разместить в горизонтальном лэйауте, лэйаут поместить в виджет, а виджет добавить в грид-лэйаут.
Pomidor
Супер, с большего разобрался, спасибо большое!!!)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB