mrg*_*g95 5 c++ qt qpushbutton
在我的项目中,我有一些按钮在可见和不可见之间变换使用:
ui->button->setVisible(true);
//or
ui->button->setVisible(false);
Run Code Online (Sandbox Code Playgroud)
然而,似乎当它们看不见时,它们也不起作用?我怎么能绕过这个?
我已经尝试过了:
ui->button->setEnabled(true);
Run Code Online (Sandbox Code Playgroud)
对于他们所有人,但没有任何变化.
Fre*_*red 10
当你打电话时QWidget::setVisible(false),你不仅要将它从视图中隐藏起来,而且还要从布局中逻辑删除它,这样它就不再响应按键或鼠标点击.你想要的是将小部件保持在那里而不显示它.我会在你的情况下尝试改变你的QPalette相关联QPushButton使它变得透明(即看不见)
// Make the button "invisible"
QBrush tb(Qt::transparent); // Transparent brush, solid pattern
ui->button->setPalette(QPalette(tb, tb, tb, tb, tb, tb, tb, tb, tb)); // Set every color roles to the transparent brush
// Make the button "visible"
ui->button->setPalette(QPalette()); // Back to the default palette
Run Code Online (Sandbox Code Playgroud)
这样,按钮仍然在逻辑上处于布局中(并占据适当的空间),但它没有显示,因为它完全以透明颜色显示.
| 归档时间: |
|
| 查看次数: |
7762 次 |
| 最近记录: |