Как я могу создать настольное приложение с графическим интерфейсом, похожее на Blender или Maya?

Я хотел бы создать настраиваемое окно графического интерфейса пользователя, подобное окну графического интерфейса пользователя Blender или Maya. Пожалуйста, обратитесь к этому изображению ниже:

Окно пользовательского интерфейса Blender с кнопками инструментов и меню

Как и с чего начать для разработки и создания настраиваемого окна графического интерфейса пользователя, аналогичного окну пользовательского интерфейса Maya / Blender. Пожалуйста, обратитесь к изображению ниже, на котором есть опция предварительного просмотра видео / изображения, а также плавающие кнопки и меню:

Окно пользовательского интерфейса Maya

Будучи студентом, вместо того, чтобы использовать другие настольные приложения с графическим интерфейсом для трехмерных целей, я могу создать окно графического интерфейса пользователя, подобное Blender / Maya.

Можно ли создать приложение с графическим интерфейсом пользователя для рабочего стола? Если возможно, то как этого добиться?


person Achiever    schedule 21.04.2019    source источник
comment
Вы всегда можете прочитать исходный код Blender. В противном случае это слишком широко и неясно.   -  person Sami Kuhmonen    schedule 21.04.2019
comment
Maya использует фреймворк Qt для своего интерфейса. Удачи!   -  person Green Cell    schedule 21.04.2019
comment
Звучит как хороший проект, но способы сборки слишком сложны для Stack Overflow.   -  person halfer    schedule 10.05.2020


Ответы (1)


Blender имеет собственный графический интерфейс, использующий OpenGL. Вы можете попробовать изучить OpenGL (или Vulkan) и начать рендеринг, но вы должны знать, что создание библиотеки GUI будет огромной проблемой. Вам нужно подумать о таких вещах, как ввод с клавиатуры, рендеринг шрифтов, выбор текста ...

Скорее всего, вы сэкономите много времени, используя существующую библиотеку графического интерфейса, которая уже решила эти проблемы, например Qt, Flutter, GTK +. Или вы можете использовать код в Blender, но я предполагаю, что будет сложнее найти хорошую документацию и поддержку сообщества, поскольку это внутренняя библиотека.

person joepio    schedule 23.01.2021