Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2015 21:51:44

Pomidor
Зарегистрирован: 2015-01-23
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Resize QTableWidget

День добрый. Подскажите пожалуйста, как сделать таблицу (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)

Офлайн

#2 Фев. 11, 2015 00:01:14

KriO
Зарегистрирован: 2012-10-07
Сообщения: 61
Репутация: +  9  -
Профиль   Отправить e-mail  

Resize 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)
vb = QVBoxLayout()  # или QHBoxLayout()
vb.addWidget(self.table[0])
self.tab1.setLayout(vb)
self.tab_widget.resize(525,430)

Можно ещё сразу таблицу в таб-виджет добавлять, если Вы не планируете больше ничего, кроме таблицы в него добавлять.

Офлайн

#3 Фев. 11, 2015 01:31:19

Pomidor
Зарегистрирован: 2015-01-23
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Resize QTableWidget

Спасибо. А ещё такой вопрос возник, вернее даже два.
Можно как-то разместить 2 виджета (QPushButton) в одной ячейке (я QVbox на QGridLayout заменил) QGridLayout-а?
Я почитал, что есть какой-то параметр “alignmen”, но все благополучно пишут, что он имеет значение по умолчанию - 0. А не по умолчанию - лева/право не известно.
И можно ли как-то выравнивать содержимое ячейки QGridLayout по вертикали?
Заранее благодарен))

Офлайн

#4 Фев. 11, 2015 10:46:43

KriO
Зарегистрирован: 2012-10-07
Сообщения: 61
Репутация: +  9  -
Профиль   Отправить e-mail  

Resize QTableWidget

Про значение флага 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-м параметре выравниванием.
Еще, как вариант, можно две кнопки разместить в горизонтальном лэйауте, лэйаут поместить в виджет, а виджет добавить в грид-лэйаут.

Офлайн

#5 Фев. 11, 2015 15:40:42

Pomidor
Зарегистрирован: 2015-01-23
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Resize QTableWidget

Супер, с большего разобрался, спасибо большое!!!)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version