В GTK раньше у меня было окно, в которое я ставил gtk_container_add () и являлся GtkVBox. Затем я мог упаковать виджеты, которые я хотел, в GtkVBox, чтобы они появлялись в окне.
Теперь я решил попробовать Qt, но не могу понять, как это сделать в Qt.
Прямо сейчас я создал QMainWindow, но я обнаружил, что в него можно упаковать только один главный виджет, что, очевидно, является довольно ограниченным. Поэтому я хотел создать что-то вроде GtkVBox и использовать его в качестве основного виджета, а затем добавить другие виджеты в это поле.
Однако Googling обнаружил только виджет Q3VBox, который, как мне кажется, нужен, но не рекомендуется, и QVBoxLayout.
Я пытался использовать QVBoxLayout, но он говорит мне, что я не могу изменить макет моего QMainWindow, так как у него уже есть макет.
Редактировать: Вот как я это делаю (это в конструкторе):
box = new QVBoxLayout;
setLayout(box)
Он хорошо компилируется, но во время выполнения выводит на консоль:
QWidget::setLayout: Attempting to set QLayout "" on HCGWindow "", which already has a layout
(HCGWindow - это окно моего приложения, которое является подклассом QMainWindow)
Итак, как я могу создать что-то похожее на GtkVBox в Qt, и если решением является Q3VBox, почему оно устарело и что еще я должен использовать?
Спасибо