2012-05-03 2 views
1

У меня есть пользовательский интерфейс, созданный из конструктора, с QGridLayout где я добавить свои пользовательских виджетов из кода. Нет проблем, когда я добавляю 1 ~ 4 пользовательских виджета, но когда я пытаюсь добавить больше, они перекрываются.Добавление слишком большое количество виджетов в QGridLayout

Вот изображение, чтобы закончить объяснение:

Без перекрытия: http://i45.tinypic.com/wve8o6.png

Overlapped: http://i47.tinypic.com/565py.png

Я пытаюсь найти способ, чтобы добавить какой-то свиток к QGridLayout, поэтому мои пользовательские виджеты не перекрываются между ними, и я могу взаимодействовать со всеми из них.

Я попытался использовать QScrollArea, но когда я добавил более 4 виджетов, они продолжают перекрываться, и прокрутка не работает должным образом.

ответ

0

У вас такая же проблема при разработке кода, а не с дизайнером? У меня было несколько проблем, и я нашел кодирование gui более чистым и более элегантным способом.

+0

Я не пытался кодировать главный ui, поскольку он очень простой (некоторые QLabels с некоторыми текстами и некоторыми изображениями, а в центре - QGridLayout), и сделать это на дизайнере проще. – AZorrozua

+0

Попробуйте сделать это в кодовом коде, особенно если это такой простой gui. Также вы получите более простой код, более понятный код. Я всегда думал о дизайне qt как о не очень хорошем программном обеспечении – muma

+0

Хорошо, я попробую. Но знаете ли вы, как добавить прокрутку в QGridLayout? – AZorrozua

0

Что делаети sizeHint() возвращается на ваш пользовательский виджет? Я думаю, что вы не реализовали их правильно.

0

У меня была эта проблема и разрешил ее, установив this-> setMinimumHeight (267); где 267 - высота int моего виджета.