如何将静态文本放入QLine编辑在 Qt C++ 中,这样它就不能被删除,并且当我写入 QLineEdit 时,它不应该被分隔。
没有常规的方法来放置前缀或后缀QLabel
.
占位符
只要你能做到QLineEdit
是设置一个文本,当里面没有文本时将显示该文本 - 请参阅QLineEdit::placeholderText
.
输入掩码
另一种方法是用QLineEdit
是设置inputMask
但它会改变光标并且需要特定数量的字母。
带 QLabel 的后缀
如果您知道符号的最大数量并想要制作后缀,您可以使用另一个来获得它QLabel
:
1. 限制length
文本的右侧有一定的可用空间。
2. 地点QLabel
的右侧QLineEdit
并在其中输入后缀文本。
注意:您将无法放置QLabel
on QLineEdit
在 QtDesigner 中,如果QLineEdit
位于布局内部。在这种情况下,您可以添加QWidget
代替QLineEdit
在布局中并放置QLineEdit
and QLabel
在这个没有布局的小部件中。您还可以创建QLabel
在代码中:
QLabel* label = new QLabel(this);
label->setText("kg");
label->move(lineEdit->rect().right() - label->width() - 3, lineEdit->rect().center().y() - label->height() / 2);
自定义小部件
添加后缀和前缀的最灵活的方法是创建一个继承自的新类QWidget
添加两个QLabels
(前缀和后缀)信息,添加QLineEdit
在它们之间并使用 css 使它们看起来像一个QLineEdit
.
在此图像上:前缀和后缀是QLabels
。 _一些_文本_是QLineEdit
named lineEdit
它们都在一个QWidget
named complexLineEdit
在水平布局中。
这是我用于上图的 css:
QWidget#complexLineEdit
{
border-top: 1px solid #CCCCCC;
border-left: 1px solid #DDDDDD;
border-right: 1px solid #DDDDDD;
border-bottom: 1px solid #DDDDDD;
background-color: white;
}
QWidget#complexLineEdit QLineEdit#lineEdit
{
border: 0px;
}
您可以使用它来使其更加类似于QLineEdit
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)