• 7658阅读
  • 6回复

DockWidget的geometry无法调节 [复制链接]

上一主题 下一主题
离线uiprofans
 

只看楼主 倒序阅读 楼主  发表于: 2012-09-28
使用环境:VS2008+QT4.8.1
随便创立一个界面程序,在界面中引入DockWidget,编译运行之后发现,DockWidget很小。即使在QT-designer中进行调节似乎也不管用,我注意了一下,在Qt-designer中调节DockWidget的尺寸时,界面没有显示需要另行保存,似乎这样的改动并没有被程序记住。
改动之后,一旦运行,界面中的DcokWidget又回到了很小的状态,非常奇怪的事情,哪位遇到过类似的事情?!

DockWidget尺寸有问题




QT-Designer中调整尺寸


离线kimtaikee

只看该作者 1楼 发表于: 2012-09-28
这个DockWidget最起码你得放点什么东西吧

离线uiprofans

只看该作者 2楼 发表于: 2012-09-28


我放了一个tabWidget以及treeWidget在这个DockWidget里面,程序刚启动时也只是这样,不知道哪位处理过类似情况?
离线uidab

只看该作者 3楼 发表于: 2012-09-28
回 2楼(uiprofans) 的帖子
clean一下,在编译运行,试试!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线kimtaikee

只看该作者 4楼 发表于: 2012-09-28
Designer对这种需要代码级别设置widget支持的不是很好,下面是designer生成的代码和手动修改部分代码都的显示对比,
P.S. 我很少用designer 设计ui

离线jdwx

只看该作者 5楼 发表于: 2012-09-28
回 2楼(uiprofans) 的帖子
bool QMainWindow::restoreState ( const QByteArray & state, int version = 0 )
void MainWindow::readSettings()
{
     QSettings settings("MyCompany", "MyApp");
     restoreGeometry(settings.value("myWidget/geometry").toByteArray());
     restoreState(settings.value("myWidget/windowState").toByteArray());
}


QByteArray QMainWindow::saveState ( int version = 0 ) const
void MyMainWindow::closeEvent(QCloseEvent *event)
{
     QSettings settings("MyCompany", "MyApp");
     settings.setValue("geometry", saveGeometry());
     settings.setValue("windowState", saveState());
     QMainWindow::closeEvent(event);
}

这两个函数一个保存窗口状态,另一个取回。
包括:工具条,窗口大小,dockwidget。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线uiprofans

只看该作者 6楼 发表于: 2012-09-28
大家的回复让我收获很多。看来QT制作界面更多的还是用代码比较好。只是我现在处在界面设计阶段,有太多的东西需要修改和调整了,现阶段看来只能是以代码和图形设计同时采用的方式了。
快速回复
限100 字节
 
上一个 下一个