АК
Александр Кузьминых07 серпня 2017 р. 02:06
Средство просмотра фотографий Windows в Qt.
Добрый день, EVILEG. В проекте нужно реализовать функционал стандартного приложения Windows (увеличивать изображение колесиком мышки, скроллить увеличенное изображение движением мышки с зажатой левой кнопкой).
Поискав в интернете, нашел я мало чего, лишь пример от Qt с QScrollArea и QLabel.
Было решено реализовать нужный функционал следующим образом:
На картинке, что я приложил к данной теме, под номером 1 я буду использовать QLabel, , под номером 2 - QScrollArea.
В главном окне приложения (класс MainWindow::public QMainWindow) центральным виджетом установлю QScrollArea, у QScrollArea установлю setWidged(QWidget wgt) свой QLabel, в который помещу QPixmap. Скролл увеличенного изображения движением мышки с зажатой кнопкой я реализовал через mousePressEvent и mouseMoveEvent, вызывая в последнем метод QScrollBar::setValue(). По умолчанию, движения колесика мышки скроллят содержимое, но я (пока что еще не реализовал это) заставлю не скроллить, а масштабировать (надеюсь, это возможно) :)
Мой вопрос в том, правильно ли я подошел к решению задачи, правильно ли выбрал средства, с помощью которых можно реализовать функционал просмотрщика windows, или есть способ получше. Просто есть ощущение, что я использую QScrollArea не для тех целей, для которых он создан.
Мой вопрос в том, правильно ли я подошел к решению задачи, правильно ли выбрал средства, с помощью которых можно реализовать функционал просмотрщика windows, или есть способ получше. Просто есть ощущение, что я использую QScrollArea не для тех целей, для которых он создан.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
AD
- Akiv Doros
- 11 листопада 2024 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
m
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
m
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Останні коментарі
ИМ
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь Максимов22 листопада 2024 р. 11:51
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов05 жовтня 2024 р. 07:51
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi24 червня 2024 р. 15:11
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey115 листопада 2024 р. 06:04
NSProject04 червня 2022 р. 03:49
IscanderChe31 жовтня 2024 р. 15:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Добрый день!
Я на этот пример и опирался :) Мне нужно было знать, правильный ли это способ. Благодарю за твое мнение :)
Я думаю, что это верное решение. Можно ещё рисовать на QGraphicsScene. Там может быть несколько проще с масштабированием. Поскольку, если не ошибаюсь, в графической сцене присутсвует масштабирование и зум. Но здесь всё зависит от необходимого функционала. Если нужно просто просматривать картинки, то хватит и примера imageViewer. Если потребуется рисовать, то тут уже лучше использовать QGraphicsScene.
У меня возникает вопрос к автору вопроса - а то что вы хотите сделать какие отношение имеет именно к мелкомягкой? То есть на других системах это самое не будет работать? Мне просто не понятно уточнение про работу с дырявыми окнами))
Просмотрщик фотографий был выбран как пример. А так программа будет работать на Windows. На других системах нет API для видеокамеры BMR-140LM-U.
Если есть предложения как работать видеокамерой без API, я бы с радостью их услышал, потому что в будущем задача работоспособности программы на Linux будет стоять, а в разработке у меня опыта мало.
Теперь понятно. Про видеокамеру был не в курсе. Но думаю что если вы будете писать прогу не привязываясь к системе то потмо подсунув другую доступную камеру будет все норм. Или можно попробовать написать производителю и спросить.
Да, либо другую камеру будем искать, либо писать производителю, но есть большие сомнения насчет того, что у них где-то завалялось API на Linux :)