Russian Qt Forum
Ноябрь 26, 2024, 02:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] QSpinBox с разрядностью 64 бит  (Прочитано 6965 раз)
tankist
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« : Февраль 06, 2019, 16:56 »

Требуется, чтобы виждет QSpinBox возвращал 64-битное значение (по документации возвращает int). Как это можно сделать? Пробовал деклассировать QSpinBox, но функция valueFromText() возвращает опять же int, чего недостаточно.
« Последнее редактирование: Февраль 07, 2019, 13:35 от tankist » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Февраль 06, 2019, 17:12 »

QDoubleSpinBox с decimals = 0
Записан

Qt 5.11/4.8.7 (X11/Win)
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #2 : Февраль 06, 2019, 21:00 »

https://stackoverflow.com/questions/8383620/64bit-int-spin-box-in-qt
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Февраль 07, 2019, 11:42 »

QDoubleSpinBox с decimals = 0
Практически наверно достаточно, но все-таки можно придраться: ведь double имеет больший диапазон, а значит меньшее число значений, при каком-то достаточно большом значении инкремент перестанет работать. Старый фокус
Код
C++ (Qt)
if (a == (a + 1))
// эта ветка может сработать
Думается хорошим решением было бы прилепить еще контрол, напр попапку которая показывает размерность спинбокса напр 1, Кб, Мб, Гб и кастом.
Записан
tankist
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #4 : Февраль 07, 2019, 13:32 »

Думается хорошим решением было бы прилепить еще контрол, напр попапку которая показывает размерность спинбокса напр 1, Кб, Мб, Гб и кастом.

Смысл спинбокса - индикация десятичного представления 48-битного числа, которое указано побитно выше, с возможностью инкремента/декремента, поэтому размерность нереализуема.

Спасибо за советы, все варианты подходящие.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #5 : Февраль 07, 2019, 14:19 »

Смысл спинбокса - индикация десятичного представления 48-битного числа, которое указано побитно выше, с возможностью инкремента/декремента..
Прочтите, что вы написали. Если число изменяется, то это значит, его будете где-то использовать (иначе зачем изменять)) А о проблемах сравнения чисел с плавающей точкой вам напомнили, так что будьте внимательнее.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.071 секунд. Запросов: 23.