没有常规的方法来放置前缀或后缀QLabel.
你可以得到的QLineEdit是设置一个文本,当没有文本内容时将显示 - 请参阅QLineEdit::placeholderText.

另一种方法QLineEdit是设置inputMask但它会改变光标并需要特定数量的字母.

如果您知道最大符号数量并想要制作后缀,则可以使用另一个符号QLabel:
1 length.文本限制为右侧有一定的可用空间.
2.放置QLabel在右侧,然后在QLineEdit其中输入后缀文本.
注意:您将不能够把QLabel对QLineEdit在QtDesigner如果QLineEdit是一个布局内.在这种情况下,您可以添加QWidget而不是QLineEdit在布局中放置QLineEdit并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);

添加后缀和前缀的最灵活的方法是创建一个继承自QWidgetadd QLabels(前缀和后缀)信息的新类,QLineEdit在它们之间添加并使用css使它们看起来像单个QLineEdit.

在此图像上:前缀和后缀是QLabels._some_text_已QLineEdit命名,lineEdit并且所有这些都在水平布局中的QWidget命名内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.