Я пишу свое первое приложение на Qt. До сих пор, чтобы отобразить любой текст на QLabel
я использовал следующее, чтобы установить формат и текст:Установите текстовый формат на Qlabel на номер
ui->lat_UAV_label->setText(QString("<span style=\" font-size:18pt;
font-weight:600; color:#0009d8;\">%1</span>").arg(lat * RAD2DEG));
где «ш» является двойным номером точности и «RAD2DEG» является константой для преобразования из радиана до градусов. Тем не менее, я хочу отображать только две десятичные цифры на этикетке. Я пытался сделать это с помощью QString().number
, но формат стиль теряется:
ui->lat_UAV_label->setText(QString("<span style=\" font-size:18pt;
font-weight:600; color:#0009d8;\">%1</span>").number(lat * RAD2DEG, 'f', 2);
Я попробовал другие способы сделать это, но он не работает. Я думаю, что это должно быть намного проще, чем то, что я пытаюсь сделать, но поскольку я новичок в этом, я этого не знаю.
код [ 'arg' сам метод] (http://doc.qt.io/qt-5/ qstring.html # arg-8) имеет аргументы для установки форматирования удвоений –
Я бы использовал setFont для QLabel, а не для установки шрифта со стилем, потому что теперь ваш код довольно нечитабельный – demonplus