qt - QTableWidget 标题的上标

标签 qt qstring qtablewidget superscript

我正在学习QT,必须设计一个这样的表格

example

我需要“m2”,“2”作为上标。

这是我的代码:

ui.tableWidget->horizontalHeaderItem(0)->setText("Date");
ui.tableWidget->horizontalHeaderItem(0)->setBackgroundColor(QColor(217, 217, 217));
ui.tableWidget->horizontalHeaderItem(1)->setText("House address");
ui.tableWidget->horizontalHeaderItem(1)->setBackgroundColor(QColor(217, 217, 217));
ui.tableWidget->horizontalHeaderItem(2)->setText("Area \n [m\u00B2]");
ui.tableWidget->horizontalHeaderItem(2)->setBackgroundColor(QColor(217, 217, 217));
ui.tableWidget->horizontalHeaderItem(3)->setText("Price \n [USD]");
ui.tableWidget->horizontalHeaderItem(3)->setBackgroundColor(QColor(217, 217, 217));
ui.tableWidget->horizontalHeaderItem(4)->setText("Price/Area \n [USD/m\u00B2]");
ui.tableWidget->horizontalHeaderItem(4)->setBackgroundColor(QColor(217, 217, 217));

我用“\u00B2”代表“2”作为上标,但它不起作用,背景颜色也没有改变。请帮助我,非常感谢!

最佳答案

尝试QString("Area \n [m%1]").arg(QChar(0x00B2))QString("Area \n [%1]").arg(QChar(0x33A1)) 。它应该适用于任何源编码。

如果不起作用,可能您的字体不支持此符号的显示。如果没有其他方法,您可以尝试通过 QLabel 使用 HTML 来模仿标题,如下所示:"<B> Area <BR> [m<SUP>2</SUP>] </B>" 。请记住,将 QWidgets 设置为 QTableWidget 通常很丑陋并且可能很慢。而且你会得到糟糕的架构。

关于qt - QTableWidget 标题的上标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37966594/

相关文章:

python - 在qtablewidget中突出显示搜索结果(选择并突出显示该文本或字符而不是所有行或列)

python - 动态创建选项卡QTabWidget和填充表格QTableWidget

c++ - 错误 LNK2001 : unresolved external symbol "__declspec(dllimport) public: class QString & __thiscall QString::operator=(class QString &&)"

c++ - Qt 信号和槽问题

c++ - Ncurses 和 Qt 互操作性

python - 如何为 Python 2.7 安装 Pyside?

qt - 使用QString基本功能从路径获取文件名

c++ - 鉴于某些函数是常量而其他函数是非常量,正确使用/修改 QString

qt - QTableWidget 中的占位符

c++ - 如何知道QTreeView项装饰被点击