Просмотр сообщений
|
Страниц: [1] 2 3 4
|
4
|
Qt / Вопросы новичков / Re: qint16 и -1
|
: Апрель 12, 2022, 07:06
|
Похоже в Qt просто нет функции для вывода в HEX этого типа (quint16, qint16, quint8, qint8), т.к. в qstring.h: static QString number(int, int base=10); static QString number(uint, int base=10); static QString number(long, int base=10); static QString number(ulong, int base=10); static QString number(qlonglong, int base=10); static QString number(qulonglong, int base=10); static QString number(double, char f='g', int prec=6);
|
|
|
5
|
Qt / Вопросы новичков / Re: qint16 и -1
|
: Апрель 11, 2022, 19:13
|
Странно это. Если размер известен, почему QString тянет мусор. Отрезать вручную мусор решение не самое красивое, скорее похоже на костыль
|
|
|
6
|
Qt / Вопросы новичков / qint16 и -1
|
: Апрель 11, 2022, 15:11
|
Есть простейший код: #include <QCoreApplication> #include <QtCore>
int main(int argc, char *argv[]) { QCoreApplication a(argc, argv);
qint16 n; qDebug() << "sizeof " << sizeof(n);
n=1; qDebug() << n << QString::number(n, 16).toUpper();
n=32767; qDebug() << n << QString::number(n, 16).toUpper();
n=32768; qDebug() << n << QString::number(n, 16).toUpper();
n=-1; qDebug() << n << QString::number(n, 16).toUpper();
return a.exec(); } Имеем вывод: sizeof 2 1 "1" 32767 "7FFF" -32768 "FFFFFFFFFFFF8000" -1 "FFFFFFFFFFFFFFFF" Если в памяти qint16 занимает два байта, то при переполнении, например число 32768 будет отображено как -32768. Почему QString его выводит как "FFFFFFFFFFFF8000"? Почему не -1 в HEX не FFFF ? Как правильно в QString вывести шестнадцатиричное значение -1?
|
|
|
8
|
Qt / Пользовательский интерфейс (GUI) / Re: Опять "размер до show"
|
: Сентябрь 11, 2019, 15:34
|
Я при создании таблицы для подгонке ширины колонки делал так: #ifdef Q_QT5 m_ui.tableWidget->horizontalHeader()->setSectionResizeMode(i, QHeaderView::ResizeToContents); #else m_ui.tableWidget->horizontalHeader()->setResizeMode(i, QHeaderView::ResizeToContents); #endif
|
|
|
10
|
Qt / Пользовательский интерфейс (GUI) / Re: Как запретить закрытие окон под Astra Linux
|
: Апрель 25, 2019, 18:48
|
Попробую объяснить, что и для чего. Есть самописная SCADA система 1999-го года рождения. Технологический процесс неважен. Все в ней работает как надо, что много раз проверено. Вот только весь пользовательский интерфейс рабочих мест операторов сделан под Windows (сначала NT 4.0, потом XP, потом Windows 7). Теперь у нас импортозамещение и в список разрешенных ОС Windows больше не входит (а ведь NT 4.0 когда-то входила), а вот Astra Linux SE входит. И показалось, что она наиболее вменяемая, так что надо портировать. Ошибки оператора могут стоить ну очень дорого. Отсюда и весь наезд.
Установите wine и запускайте старые исполняемые файлы. Мега-костыль, зато заново не надо переписывать и отлаживать код. Есть товарищи, которые на AstraLinux также запускают боевую программу, только тсс. Они об этом стесняются говорить военным.
|
|
|
12
|
Qt / Пользовательский интерфейс (GUI) / Re: Игровая мышь на Qt
|
: Февраль 22, 2018, 20:04
|
Я когда-то подобную задачу решал для трекбола. Когда, вращением трекбола задавалась угловая скорость перемещения телекамеры. Тоже курсор упирался в край. Я решил просто. Когда курсор упирался в край экрана передвигал курсор в противоположную сторону экрана, получалось циклическое движение курсора, а курсор естественно делал невидимым на время работы режима управления камерой.
|
|
|
|
|