gpt4 book ai didi

Qt QSpinBox : How to display uppercase hexadecimal number

转载 作者:行者123 更新时间:2023-12-04 01:08:47 27 4
gpt4 key购买 nike

要使用 QSpinBox 输入和显示十六进制数,只需将 displayIntegerBase 设置为 16。但是,我找不到将显示设置为的属性或方法大写(例如 1A 而不是 1a)。

我知道我可以重写 textFromValue() 方法来执行此操作,但感觉这是一个相当正常的用例。一定有更简单的方法,对吧?

我正在使用 Qt 5.12。

最佳答案

您可以通过 setting the capitalization 强制大写spinBox 的字体到 QFont::AllUppercase

    QFont font = ui->spinBox->font();
font.setCapitalization(QFont::AllUppercase);
ui->spinBox->setFont(font);

编辑:我准备了一个小例子来展示行为

#include <QWidget>
#include <QApplication>
#include <QHBoxLayout>
#include <QSpinBox>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *w = new QWidget();
QLayout* layout = new QHBoxLayout(w);

QSpinBox* spinBox = new QSpinBox(w);
spinBox->setRange(0, 0xFF);
spinBox->setDisplayIntegerBase(16);
QFont font = spinBox->font();
font.setCapitalization(QFont::AllUppercase);
spinBox->setFont(font);

QSpinBox* spinBox2 = new QSpinBox(w);
spinBox2->setRange(0, 0xFF);
spinBox2->setDisplayIntegerBase(16);

spinBox->setValue(0x1a);
spinBox2->setValue(0x1a);

layout->addWidget(spinBox);
layout->addWidget(spinBox2);

w->show();

return a.exec();
}

这给出了以下结果:

Uppercase and lowercase hexadecimal spinboxes

关于Qt QSpinBox : How to display uppercase hexadecimal number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56156735/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com