2015-07-07 5 views
0

В QVBoxLayout добавлено два QTableViews. Первое имеет постоянное количество строк (2), второе - много. Цель состоит в том, чтобы вторая таблица начиналась сразу после последней строки в первой таблице.избегать пустого пространства в QTableView

Я пробовал изменить QSizePolicy, setMinimumSize() - ничего не помогает. Ниже приведен пример кода:

layout = QVBoxLayout() 
first_table = QTableView() 
second_table = QTableVew() 
first_table.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) 
second_table.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) 
layout.addWidget(first_table) 
layout.addWidget(second_table) 

Похоже, он использует sizeHint() независимо от того, в setMinimumSize (H, v) значения. Как сделать первую таблицу не показывать пробел без строк?

ответ

1

Вы можете сделать следующее:

layout = QVBoxLayout() 
first_table = QTableView() 
second_table = QTableVew() 
layout.addWidget(first_table) 
layout.addWidget(second_table) 
layout.addStretch(1); // <--- to keep both tables together. 
+0

Это не работает. –

+0

Как сделать первую таблицу ** не показывать пробел без строк? ** –

+0

@SergiiArtele, я не понимаю, что это значит: 'не показывать пространство без строк'. – vahancho