Я пишу довольно большую и сложную программу анализа данных, и я достиг точки, когда я думаю, что пришло время создать графический интерфейс для программы. Итак, мой вопрос:
Какой инструментарий GUI следует использовать?
Я совершенно новичок в кодировании и создании графических интерфейсов и был бы признателен за любые рекомендации, которые могут быть предложены. Это не обязательно должен быть самый простой набор инструментов в мире, я довольно быстро учусь. Тем не менее, он должен уметь делать следующие вещи (некоторые, если не все из них, вероятно, невероятно базовые для любого данного инструментария, но я подумал, что было бы хорошо выбросить все это на всякий случай).
Это должно позволить мне рисовать прямо на экране, чтобы я мог размещать графики (на самом деле спектры), графики и тому подобные вещи для просмотра пользователем. Мне нужно иметь возможность собирать информацию о том, где они нажимали на вышеупомянутые спектры. Мне нужно иметь возможность отображать текст и принимать текст от пользователя. Он должен иметь возможность генерировать меню (вы знаете, «Файл», «Редактировать» и т. Д.). Если бы у него был какой-то встроенный виджет для создания таблиц, это было бы удобно (хотя я могу преодолеть его недостаток, если я могу рисовать прямо на экране). Он должен иметь возможность отображать предупреждения, диалоговые окна, окна сохранения и открытия и т. д. Вот и все, большинство из них кажутся довольно простыми, когда я их пишу, но я не хочу, чтобы графический интерфейс частично кодировался и затем поймите, что мне нужно переписать его с помощью другого инструментария.
Следует отметить, что я написал эту программу на C++ и не хочу писать часть с графическим интерфейсом на C или на чем-то еще, поэтому инструментарий должен поддерживать C++.
Кроме того, межплатформенный инструментарий предпочтительнее, чем инструментарий для одной платформы. Однако, если это должен быть набор инструментов для одной платформы, я бы предпочел, чтобы он был для Linux.
Наконец, я бы СТРЕМИТЕЛЬНО предпочел набор инструментов с открытым исходным кодом набору инструментов с закрытым исходным кодом.
Кроме того, я не могу придумать, что добавить. Заранее спасибо за ваше время и ответы.
Хммм, основываясь на ответах, я рассмотрю как Qt, так и wxWidgets и посмотрю, что мне больше нравится. Я мог бы принять несколько ответов как принятых, но я не могу, и, поскольку я смотрю на две вещи, было бы несправедливо принять только один из ответов, возможно, через неделю или две, тогда я посмотрел на наборы инструментов и понял из которых я хочу использовать.