我有一个 QGroupBox
。根据上下文,它的标题可能是多余的(显示在 GUI 的另一个地方),所以我需要让 QGroupBox
不在这里......但我必须保持它的内容可见(所以我不想调用 QGroupBox::hide()
)!
我需要在运行时动态执行此操作,并希望避免创建/销毁 QGroupBox
+ 重新设置其内容......必须有一种更简单的方法来做到这一点。
到目前为止我尝试过的:QGroupBox
可见:
QGroupBox::setTitle("")
删除文本。 QGroupBox::setFlat(true)
使框架成为单行。 我最终得到了这个:
还不错……但仍然有一行……有没有办法完全隐藏
QGroupBox
框架但保留其内容可见? 最佳答案
您可以使用 QFrame
+ QGridLayout
(或一些更复杂的布局组合)+ QSS 而不是 QGroupBox
。
仅考虑 QGroupBox
,通过 QSS 的简单解决方案可能是:
static const char kSavedTitle[] = "_savedTitle";
void hideBoxFrame(QGroupBox * box) {
box->setProperty(kSavedTitle, box->title());
box->setTitle(QString());
box->setStyleSheet("border:none");
}
void showBoxFrame(QGroupBox * box) {
box->setTitle(box->property(kSavedTitle).toString());
box->setStyleSheet(QString());
}
关于qt - 您可以隐藏 QGroupBox 框架但保留其内容可见吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36603051/