Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有类似QLineEdit背景的Qt小部件_C++_Qt_Qt5 - Fatal编程技术网

C++ 具有类似QLineEdit背景的Qt小部件

C++ 具有类似QLineEdit背景的Qt小部件,c++,qt,qt5,C++,Qt,Qt5,我希望创建一个自定义小部件,其中一部分是“背景”,看起来像QLineEdit(或QProgressBar) e、 但是没有文本 我想出了两种方法来解决这个问题,但这两种方法似乎都不是一个好的解决方案: 一, 这样做的缺点是不能完全控制,特别是在我想要的布局中 二, 使用QLineEdit小部件,但将其设置为NoFocus和ReadOnly 这对我来说似乎有些过分,因为我永远不想要任何文本功能 最好的解决方案是什么?将QLabel与特殊的样式表一起使用: ui->label->setT

我希望创建一个自定义小部件,其中一部分是“背景”,看起来像QLineEdit(或QProgressBar)

e、 但是没有文本

我想出了两种方法来解决这个问题,但这两种方法似乎都不是一个好的解决方案:

一,

这样做的缺点是不能完全控制,特别是在我想要的布局中

二,

使用QLineEdit小部件,但将其设置为NoFocus和ReadOnly

这对我来说似乎有些过分,因为我永远不想要任何文本功能


最好的解决方案是什么?

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
}