我需要能够在 Qt 4.6 的 QLineEdit 中使用上标和下标。我知道如何在 QTextEdit 中执行上标和下标,如下所示,但我无法弄清楚如何在 QLineEdit 中执行它们,因为该类不包含像 QTextEdit 那样的 mergeCurrentCharFormat() 函数。请帮忙。谢谢

void MainWindow::superscriptFormat()
{
   QTextCharFormat format;
   format.setVerticalAlignment(QTextCharFormat::AlignSuperScript);
   if(ui->txtEdit->hasFocus())
      ui->txtEdit->mergeCurrentCharFormat(format);
}

最佳答案

QLineEdit 并不是真正为这种类型的东西而设计的,因为它是为简单的文本输入而设计的。但是,您有几个选择。最简单的方法是按照 Hostile Fork 建议并使用 QTextEdit ,并添加样式覆盖以不显示滚动条(我认为会删除箭头)。更复杂的方法是继承 QLineEdit 并进行自己的绘图,或者制作与 QLineEdit 类似的完全自己的小部件。

关于c++ - Qt - 如何在 QLineEdit 中做上标和下标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2421833/

10-12 20:52