c++ - Qt - Why won't my widgets line up using a vertical layout inside a splitter? -
as per screenshot below, why won't widgets line using vertical layout inside splitter?

/******************************************************************************** ** form generated reading ui file 'test.ui' ** ** created: tue apr 12 16:51:51 2011 ** by: qt user interface compiler version 4.6.2 ** ** warning! changes made in file lost when recompiling ui file! ********************************************************************************/ #ifndef ui_test_h #define ui_test_h #include <qtcore/qvariant> #include <qtgui/qaction> #include <qtgui/qapplication> #include <qtgui/qbuttongroup> #include <qtgui/qgridlayout> #include <qtgui/qheaderview> #include <qtgui/qlineedit> #include <qtgui/qlistwidget> #include <qtgui/qmainwindow> #include <qtgui/qsplitter> #include <qtgui/qtreewidget> #include <qtgui/qvboxlayout> #include <qtgui/qwidget> qt_begin_namespace class ui_mainwindow { public: qwidget *centralwidget; qgridlayout *gridlayout; qsplitter *splitter; qtreewidget *treewidget; qwidget *widget; qvboxlayout *verticallayout; qlineedit *lineedit; qlistwidget *listwidget; void setupui(qmainwindow *mainwindow) { if (mainwindow->objectname().isempty()) mainwindow->setobjectname(qstring::fromutf8("mainwindow")); mainwindow->resize(800, 600); centralwidget = new qwidget(mainwindow); centralwidget->setobjectname(qstring::fromutf8("centralwidget")); gridlayout = new qgridlayout(centralwidget); gridlayout->setobjectname(qstring::fromutf8("gridlayout")); splitter = new qsplitter(centralwidget); splitter->setobjectname(qstring::fromutf8("splitter")); splitter->setorientation(qt::horizontal); treewidget = new qtreewidget(splitter); qtreewidgetitem *__qtreewidgetitem = new qtreewidgetitem(); __qtreewidgetitem->settext(0, qstring::fromutf8("1")); treewidget->setheaderitem(__qtreewidgetitem); treewidget->setobjectname(qstring::fromutf8("treewidget")); splitter->addwidget(treewidget); widget = new qwidget(splitter); widget->setobjectname(qstring::fromutf8("widget")); verticallayout = new qvboxlayout(widget); verticallayout->setobjectname(qstring::fromutf8("verticallayout")); verticallayout->setcontentsmargins(0, 0, 0, 0); lineedit = new qlineedit(widget); lineedit->setobjectname(qstring::fromutf8("lineedit")); verticallayout->addwidget(lineedit); listwidget = new qlistwidget(widget); listwidget->setobjectname(qstring::fromutf8("listwidget")); verticallayout->addwidget(listwidget); splitter->addwidget(widget); gridlayout->addwidget(splitter, 0, 0, 1, 1); mainwindow->setcentralwidget(centralwidget); retranslateui(mainwindow); qmetaobject::connectslotsbyname(mainwindow); } // setupui void retranslateui(qmainwindow *mainwindow) { mainwindow->setwindowtitle(qapplication::translate("mainwindow", "mainwindow", 0, qapplication::unicodeutf8)); } // retranslateui }; namespace ui { class mainwindow: public ui_mainwindow {}; } // namespace ui qt_end_namespace #endif // ui_test_h this dummy ui uploaded here purpose of question. in real ui design i've tried every imaginable combination, start using splitters, goes out of alignment.
i pulled designer , made layout without trouble @ all. shown in hierarchy in top right of screenshot, created line edit , text edit. joined in vertical layout. created treewidget , joined layout in horizontal splitter.
i able yours editing vertical layout properties there nonzero layout margin. looks generated code explicitly setting 0 in yours...

Comments
Post a Comment