Руководство по управлению чертежами?

Мне было интересно, как Qt делает все свои стили. Мне нужно создать собственный элемент управления, и я бы хотел, чтобы он соответствовал стандартам, чтобы мой элемент управления не чувствовал себя неуместно на разных платформах и в разных стилях.

Например, мне понадобится курсор, который используется в тексте, предоставляет ли Qt метод для его рисования? И как мне реализовать его так, чтобы я не перерисовывал весь виджет для мигания курсора?

-1

Решение

То, что вы обычно делаете для создания пользовательских виджетов, состоит из двух частей:

  • объединить существующие виджеты
  • производные от существующих виджетов

Это означает, например, что если вы хотите создать пользовательский виджет для ввода текста, используйте существующий и изменяйте только те части, которые необходимо изменить при перегрузках. Или, возможно, ваша настройка вообще не требует изменения части ввода текста, а просто вставьте ее в нужном месте. Виджет, о котором я сейчас говорю, QLineEdit, Это на самом деле очень простой и настраиваемый.

На самом деле существует два метода (по крайней мере), как комбинировать виджеты, чтобы сформировать свой собственный. Первый — создать файл .ui и использовать его в своем пользовательском классе (или создавать виджеты в коде). Второй заключается в использовании QGraphicsScene, Там можно комбинировать рисование от руки (QPainter), с настраиваемыми объектами и полноценными виджетами.

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

Чтобы лучше ответить на ваш вопрос, нам понадобится более подробная информация о том, чего именно вы хотите достичь.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]