C++ 具有类似QLineEdit背景的Qt小部件
我希望创建一个自定义小部件,其中一部分是“背景”,看起来像QLineEdit(或QProgressBar) e、 但是没有文本 我想出了两种方法来解决这个问题,但这两种方法似乎都不是一个好的解决方案: 一, 这样做的缺点是不能完全控制,特别是在我想要的布局中 二, 使用QLineEdit小部件,但将其设置为NoFocus和ReadOnly 这对我来说似乎有些过分,因为我永远不想要任何文本功能C++ 具有类似QLineEdit背景的Qt小部件,c++,qt,qt5,C++,Qt,Qt5,我希望创建一个自定义小部件,其中一部分是“背景”,看起来像QLineEdit(或QProgressBar) e、 但是没有文本 我想出了两种方法来解决这个问题,但这两种方法似乎都不是一个好的解决方案: 一, 这样做的缺点是不能完全控制,特别是在我想要的布局中 二, 使用QLineEdit小部件,但将其设置为NoFocus和ReadOnly 这对我来说似乎有些过分,因为我永远不想要任何文本功能 最好的解决方案是什么?将QLabel与特殊的样式表一起使用: ui->label->setT
最好的解决方案是什么?将
QLabel
与特殊的样式表一起使用:
ui->label->setText("");
ui->label->setStyleSheet("QLabel{ border: 1px solid gray; background-color:white; border-radius:2px}");
样式表:
QLabel
{
border: 1px solid gray;
background-color:white;
border-radius:2px
}
QLabel
没有任何其他不必要的东西,因此它比QLineEdit
或QProgressBar
更好
结果:
因此,对于您来说,带0值且不带文本的QProgressBar不是解决方案?对我来说,这与QLineEdit有着相同的问题-对于我不想要或不需要的东西,会有很多开销(?)好的,那么带样式的QLabel呢?灰色(etc)边框和白色背景的QLabel是一个非常小的widget,听起来更好,如果可能的话:)我已经在为小部件的其他(图形)部分使用QLabel了
QLabel
{
border: 1px solid gray;
background-color:white;
border-radius:2px
}