Как я создаю GUI для приложения Windows с помощью C++?

Если ваш входной массив равен arr, я считаю, что вы хотите что-то вроде:

[{'section': i+1, 'x': x[0], 'y': x[1]} for i, x in enumerate(arr) if i in [2, 6, 9]]

[2, 6, 9] - ваши [3, 7, 10] позиции, только начиная с 0.

24
задан Tgr 22 November 2015 в 21:25
поделиться

11 ответов

Если Вы делаете очень простой GUI, и Вы уже используете Visual Studio затем, может иметь смысл просто идти с MFC. Можно просто использовать Visual Studio мастер MFC, чтобы создать основанное на диалоговом окне приложение, отбросить два средств управления на нем, и далеко Вы идете.

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

у меня нет опыта с QT, таким образом, я не могу сравнить два.

13
ответ дан 17 of 26 28 November 2019 в 23:08
поделиться

безусловно лучшая библиотека GUI C++ там Qt, это всесторонне, легко учиться, действительно быстро, и многоплатформенный.

ах, это недавно получило лицензию LGPL, поэтому теперь можно загрузить его бесплатно и включать в коммерческие программы

15
ответ дан Marc.2377 28 November 2019 в 23:08
поделиться

Я сильно предпочитаю просто использовать Microsoft Visual Studio и писать собственное приложение Win32.

Для GUI, столь же простого как тот, который Вы описываете, Вы могли просто создать Диалоговое окно и использовать его в качестве своего окна главного приложения. Приложение по умолчанию, созданное мастером Проекта Win32 в Visual Studio на самом деле, выталкивает окно, таким образом, Вы можете замена , что окно с Вашим Диалоговым окном и заменяет WndProc подобным (но более простой) DialogProc.

вопросом, затем, является один из инструментов и стоимости. Express Edition Visual C++ делает все, кроме чего Вы хотите, на самом деле создают Диалоговый Шаблонный ресурс. Для этого Вы могли или кодировать его в файл RC рукой или в памяти рукой . Связанный ТАК вопрос: Windows API Dialogs, не используя файлы ресурсов .

Или Вы могли попробовать один из редакторы бесплатного ресурса , что другие рекомендовали.

Наконец, Standard Edition Visual Studio 2008 года является более дорогостоящей опцией, но дает Вам интегрированного редактора ресурса.

10
ответ дан Community 28 November 2019 в 23:08
поделиться

Просто создайте новый MFC приложение C++. Это встроено, довольно легко, и тысячи примеров существуют в мире...

Плюс, можно разработать диалоговое окно прямо в Visual Studio, дать им имена переменной, и 90% кода сгенерированы для Вас.

3
ответ дан LarryF 28 November 2019 в 23:08
поделиться

Я настоятельно рекомендую против использования плоскости Win32, потому что довольно трудно заставить его работать хорошо во всех ситуациях, это - довольно тусклая и утомительная работа, и библиотека Common Controls не это завершена. Кроме того, большая часть работы была сделана для Вас.

Каждый раз, когда я заканчиваю тем, что делал плоскость Win32, у меня есть к потраченному по крайней мере несколько часов на большинстве тривиальных задач, потому что я должен искать все параметры, флаги, функции, макросы и выяснить, как поднять трубку их правильно. Я обычно предпочитал бы простое перетаскивание don't-make-me-use-my-brains тип решения и просто хлопал бы вещью вместе за 2 минуты.

Как легкий инструментарий я предложил бы omgui, который имеет чистый и симпатичный API. Это, однако, не идет ни с какими инструментами.

при необходимости в поддержке инструмента Вы, вероятно, закончите тем, что желали пойти для любого MFC (редактор ресурса, встроенный в Visual Studio) или QT. Я не знаю, имеет ли wxWidgets какие-либо инструменты, но я предполагаю, что он имеет.

Редактирование: David Citron упоминает, что, по-видимому, редактор ресурса в Visual Studio генерирует Win32 совместимые файлы ресурсов, таким образом, это - вероятно, предпочтительный способ сделать вещи, если Вы хотели сохранить вещи простыми.

3
ответ дан Jasper Bekkers 28 November 2019 в 23:08
поделиться

QT от Nokia является определенно способом пойти. Другая опция является gtk, но QT лучше поддерживается и документируется. Так или иначе они оба свободны. И они оба широко используются и известны, таким образом, легко найти ответы на Ваши вопросы.

2
ответ дан Chris 28 November 2019 в 23:08
поделиться

Для такого простого приложения даже MFC был бы излишеством. Если не хотят представлять другую зависимость, просто делают это в простом ванильном Win32. Для Вас будет легче, если Вы никогда не использовали MFC.

Выезд классик, "Программирующий Windows" Charles Petzold или некоторого учебного руководства онлайн (например, http://www.winprog.org/tutorial/ ) и Вы готовы пойти.

2
ответ дан devdimi 28 November 2019 в 23:08
поделиться

Избегайте QT (для новичков), или любые бесполезные библиотеки (абсурдный для такой основной вещи)

Просто используют Мастер API Win32 VS, реклама кнопка и текстовое поле..., и это - все!

За 25 секунд!

2
ответ дан 28 November 2019 в 23:08
поделиться

Если Вы хотите узнать о win32, WTL http://wtl.sourceforge.net/ является довольно легким эквивалентом MFC, но необходимо любить, когда шаблон использует его.

, Если Вы хотите что-то, простой MFC уже интегрируется с VS, также он имеет большую основу дополнительного кода, и обходные решения уже знают ошибки в сети.

Также QT является действительно большой платформой, это имеет хороший набор инструментов, диалогового редактора, тем, и много другого материала, плюс Ваше приложение будет готово быть кросс-платформенным, хотя это потребует, чтобы некоторое время привыкло.

у Вас также есть Gtk, wxWindow, и у Вас не будет проблем, если Вы уже использовали его на Linux.

1
ответ дан Ismael 28 November 2019 в 23:08
поделиться

Простым "окном" с некоторым текстом и кнопкой является просто MessageBox. Можно создать их с единственным вызовом функции; Вам не нужна никакая библиотека вообще.

1
ответ дан MSalters 28 November 2019 в 23:08
поделиться

Я использовал wxWidgets для маленького проекта, и я любил его. QT является другим хорошим выбором, но для коммерческого использования необходимо было бы, вероятно, купить лицензию. Если Вы пишете в C++, не используют Win32 API, поскольку Вы закончите тем, что делали его объектно-ориентированным. Это не является легким и трудоемким. Также Win32 API имеет слишком многих макросы и чувствует по сложному для того, что это предлагает.

0
ответ дан jpastuszek 28 November 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: