© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
10 сентября 2018 г. 11:47

Стандартные диалоги в QML

Добрый день!
Порылся я в документации на QML и нашел такой список стандартных диалогов:
ColorDialog
Dialog
FileDialog
FontDialog
MessageDialog
С сообщениями все ясно - просто настроить под свой вкус и нужды MessageDialog.
Для progressDialog - настроить Dialog.
А как же быть со стандартными диалогами из QWidgets типа QMessageBox::about и QMessageBox::aboutQt или чтобы их получить нужно тоже все делать руками (особенно aboutQt)?

Добрый день!

То что вы нашли - это модуль QtQuick.Dialogs 1.3. В данном случае придётся брать Qml MessageBox и писать в нёго руками то, что требуется.
Ещё есть диалог из самого QtQuick.Controls 2.4, начиная с Qt 5.8, так вот там есть только тип Dialog и ещё Button Box для него. Так что да особо выбирать не приходится, что есть, с тем и работаем...
Что касается aboutQt, то он у меня в каких-то версиях Qt вообще не работал по каким-то странным причинам, но я уже не помню, какая это версия была.
Ещё можете попробовать вызывать aboutQt  через qApp
qApp->aboutQt

Но что сдаётся мне, что для мобильных устройств это или не сработает, или сработает ооооочень плохо.


Для Django рекомендую VDS-хостинг TIMEWEB

Спасибо. Похоже, что придется все делать руками, а о aboutQt вообще забыть.

Ну да. А этот aboutQt так важен? Там по сути копирайт и версия Qt. Не так уж и много информации.

Для Django рекомендую VDS-хостинг TIMEWEB

Нет, он не важен.

  • #
  • 10 сентября 2018 г. 12:17

И такой вопрос: можно как-то  в MessageDialog изменить иконку со стандартных на свою?

Я глянул исходники диалогов, и если учитывать то, что там нет property для прямой установки изображений иконок, как это сделано в классическом QMessageBox, а сами иконки забираются через url во внутреннем API QML диалогов, то без правки исходников Qt это становится весьма проблематичным на мой взгляд.

Впрочем, моя догадка верна, если учитывать, что в официальной документации написано, что кастомизация производится через изменение файла DefaultMessageDialog.qml в случае проблем с поведением на определённой платформе, то там можно переопределить, откуда должны браться иконки и возможно добавить дополнительные параметры и иконки.

Для Django рекомендую VDS-хостинг TIMEWEB

Спасибо.

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь
24 сентября 2018 г. 17:42
edorofeeva

C++ - Тест 001. Первая программа и типы данных

  • Результат 100баллов,
  • Очки рейтинга10
24 сентября 2018 г. 17:37
edorofeeva

C++ - Тест 001. Первая программа и типы данных

  • Результат 66баллов,
  • Очки рейтинга-1
23 сентября 2018 г. 14:38
No Names

C++ - Тест 001. Первая программа и типы данных

  • Результат 60баллов,
  • Очки рейтинга-1
Последние комментарии
25 сентября 2018 г. 15:24
pasagir

Qt/C++ - Урок 006. QSqlQueryModel - Таблицы в Qt с помощью SQL-запросов

Это запись метода которая работает параллельно с БД, данные из парсера поступают в БД и в наш метод одновременно
25 сентября 2018 г. 14:56
pasagir

Qt/C++ - Урок 006. QSqlQueryModel - Таблицы в Qt с помощью SQL-запросов

Как можно динамически отображать данные в таблице? На COM-порт непрерывно приходят данные, я их принимаю сохраняю в БД, а после остановка приема/передачи данные отображаются в таблице. В табли...
25 сентября 2018 г. 10:43
Евгений Легоцкой

Qt/C++ - Урок 017. QGraphicsScene или как работать с графикой в Qt

Прямо так не написано. Хотя соглашусь, что в качестве улучшения вызов данного метода здесь к месту.
25 сентября 2018 г. 10:37
reef425

Qt/C++ - Урок 017. QGraphicsScene или как работать с графикой в Qt

В статье написано, что таймер сработает один раз. Но это не так. Было бы хорошо добавить timer->setSingleShot(true); После инициализации таймера.
24 сентября 2018 г. 15:09
Евгений Легоцкой

Qt Linux - Урок 001. Автозапуск Qt приложения под Linux

А вот здесь у меня есть пример использования supervisor. https://evileg.com/ru/post/3/ Вся статья вам там не интересна, интересен только шаг с настройкой supervisor. Он получается ...
Сейчас обсуждают на форуме
25 сентября 2018 г. 15:57
Евгений_Канусовский@1981

Чтение файлов в python

Вот код: import sys from re import matchfrom vira import *from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import (QDialog, QFileDialog, QMessageBox, QLineEdit, QProgr...
25 сентября 2018 г. 13:51
DmitrySD

Трансляция видео с помощью VLC по RTP

Спасибо! Данная команда не дала результата. В итоге сделал трансляцию через ffmpeg. ffmpeg.exe -f gdigrab -framerate 30 -i desktop -vcodec libx264 -preset:v veryfast -b:v 4000k -f...
25 сентября 2018 г. 13:39
Arrow

Настройка Qt Creator для Android

Конечно отпишусь.
25 сентября 2018 г. 12:22
avovana

Автозапуск и авторестарт Qt Gui Application в Linux

Не получается... Решил пробовать скрипт, выполняемый при загрузке. В скрипте вечный цикл по старту программы.
Присоединяйтесь к нам в социальных сетях