Я пишу довольно большую и сложную программу анализа данных, и я дошел до того момента, когда я думаю, что пришло время создать графический интерфейс для программы. Поэтому мой вопрос:Gui toolkits, который я должен использовать?
Какой инструментарий GUI использовать?
Я совершенно новичок в кодировании и создании графических интерфейсов и буду благодарен за любые рекомендации, которые могут быть предложены. Это не должен быть самый простой набор инструментов в мире, я учился довольно быстро. Тем не менее, он должен иметь возможность делать следующие вещи (некоторые, если не все из них, вероятно, невероятно базовые для любого данного инструментария, но я думал, что было бы неплохо выбросить все это на всякий случай).
Он должен позволить мне рисовать непосредственно на экране, чтобы я мог поместить графики (спектры на самом деле), сюжеты и многое другое, чтобы они могли видеть. Мне нужно иметь возможность собирать информацию о местоположении, где они нажимали на вышеупомянутые спектры. Мне нужно иметь возможность отображать текст и вводить текстовый ввод от пользователя. Он должен иметь возможность создавать меню (вы знаете «Файл», «Редактировать» и т. Д.). Если бы у него был встроенный виджет для генерации таблиц, который был бы удобен (хотя я могу преодолеть недостаток этого, если я могу рисовать непосредственно на экране). Он должен иметь возможность всплывать предупреждения, диалоговые окна, сохранять и открывать коробки и т. Д. Это почти все, большинство из них кажутся довольно простыми, когда я их выписываю, но я не хочу, чтобы GUI был частично закодирован и затем осознайте, что мне нужно переписать его с помощью другого инструментария.
Следует отметить, что я написал эту программу на C++ и что я не хочу писать часть GUI на C или что-то еще, поэтому инструментарий должен поддерживать C++.
Кроме того, кросс-платформенный инструментарий был бы предпочтительнее одного инструментария платформы. Однако, если это должен быть единственный инструментарий для платформы, я бы предпочел, чтобы он был для Linux.
Наконец, я бы ДРАМАТИЧЕСКИ предпочел использовать инструментарий с открытым исходным кодом для инструментария с закрытым исходным кодом.
Помимо этого я не могу придумать ничего, чтобы добавить. Заранее благодарю за ваше время и ответы.
Хммм, основываясь на ответах, я рассмотрю как Qt, так и wxWidgets и посмотрю, какие призывы ко мне больше. Я с тем, что принимаю несколько ответов, но не могу, и поскольку я смотрю на две вещи, было бы несправедливо принимать только один из ответов, возможно, через неделю или две, тогда я посмотрел на инструментальные средства и понял который я хочу использовать.
Есть еще один вариант C++: FLTK. По общему признанию, он ориентирован на приложения OpenGL, но является полнофункциональным API-интерфейсом C++ GUI и находится под модифицированным LGPL (со статическим связующим исключением). – greyfade
Gtkmm работает и над окнами. – drby
Я второй предложение Qt. По моему опыту, Qt - это высококачественный кросс-платформенный инструментарий GUI. –