2013-08-07 48 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