c++ - Qt - 如何在 QLineEdit 中添加上标和下标?

标签 c++ qt superscript subscript

我需要能够在 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/

相关文章:

c++ - 返回元组时如何转移 unique_ptr 的所有权?

c++ - std::chrono::duration::count 函数的实际结果类型是什么

c++ - 在 Qt 中如何为用户创建 GUI 以输入 nxn 矩阵?

c++ - QT Image Viewer 示例,可能的内存泄漏?

c++ - QML 无法分配给不存在的属性

android - TextView 上标显示不正确

c++ - 关于隐式取消引用的 GCC 警告

c++ - 通过 Windows API 函数替换对 AfxGetInstanceHandle() 的调用

javascript - 是否可以在 alert() 对话框中显示上标字符?

iphone - 字符串中的 Unicode 字符 - iphone