2013-08-07 47 views
0

我想这个愚蠢的问题,但为什么我的小部件隐藏后显示?小工具不会隐藏

void Dialog::on_tabWidget_selected(const QString &arg1){ 
    QWidget *w = new QWidget(); 
    if(ui->tabWidget->currentIndex() == 3){ 
      w -> move(1093,278); 
      w -> setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint); 
      w -> setFixedSize(206,206); 
      w -> show(); 
    }else{ 
     w ->hide(); 
    } 
} 
+0

如果你想隐藏它为什么你在其他块中保持w-> hide()? – Mahesh

回答

3

第二次,它会创建一个新的QWidget,因此如果这是您想要做的事情,隐藏不会影响旧窗口小部件。 也许你应该多解释一下预期的结果是什么?

编辑: 如果您希望在此选项卡打开时显示弹出窗口,只需使用窗口小部件的showEvent和hideEvent即可。 或者您可以删除“widget * w = new widget();”,添加“QWidget * w;”到* .h,并添加“w = new QWidget();”到构造函数,它应该工作。

+0

我希望我的小部件只在一个标签上可见 – user1824542

+0

Okey我认为你真的不明白QTabWidget是如何工作的。 我将用示例编辑我的帖子 –

+0

我的QWidget是另一个窗口 – user1824542