读书人

designal设备的界面隐藏有关问题

发布时间: 2012-12-14 10:33:07 作者: rapoo

designal设备的界面隐藏问题
我用designal设计的界面,想实现:点击一个按钮其中一个窗口就消失,再点击一下就显示出来。
我用的代码如下:
void MainWindow::on_toolButton_clicked(bool checked)
{
if(checked)
{
ui->horizontalLayout->removeItem(ui->verticalLayout);
ui->tableView2->hide();
ui->tableView1->hide();
ui->toolButton->setIcon(QIcon(":/new/prefix1/images/right.ico"));
qDebug()<<ui->graphicsView->geometry();
}else
{
ui->horizontalLayout->insertLayout(0,ui->verticalLayout,176);
ui->tableView2->show();
ui->tableView1->show();
ui->toolButton->setIcon(QIcon(":/new/prefix1/images/left.ico"));
}
}

结果:
debug下跟我想要的结果一模一样,release下窗口消失后其他窗口(两个tableView右边有一个GraphicsView)不跟着自适应变化了,觉得很奇怪,release还有这样的问题。求大神指点下。有没有什么解决办法
[最优解释]
简单的例子的源工程,便于大家快速定位你的错误。
[其他解释]
designer中 horizontalLayout 是否做过自动适应大小的那个操作?就是可以让其随界面大小而发生变化的大小。

建议上源代码。
[其他解释]
resize()

sizeHint()

两个配合用一下,在显示出来之前


[其他解释]

引用:
简单的例子的源工程,便于大家快速定位你的错误。


码了快一年的工程...有点多。我只能把有关的代码弄上来
[其他解释]
能具体说下是哪个函数么,我在文档里貌似没发现,可能是我英语太水了
[其他解释]
引用:
resize()

sizeHint()

两个配合用一下,在显示出来之前


没用的
[其他解释]
我发现了问题的所在:
我重写了resizeEvent。
我把重写resize的代码注释掉就好了,应该QLayout对他的resizeEvent做了什么,我一重写就覆盖掉原来的了,所以就不行。但是为什么debug下没问题,release就有问题了。
我现在改怎么做才好呢
[其他解释]
查看Qt它的源代码

读书人网 >QT开发

热点推荐