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