当前位置: 代码迷 >> QT开发 >> designal设备的界面隐藏有关问题
  详细解决方案

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

热度:17   发布时间:2016-04-25 04:19:37.0
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它的源代码
  相关解决方案