сделать графический редактор - PullRequest
3 голосов
/ 19 марта 2010

Для моего школьного проекта я хотел бы создать графический интерфейс, который кто-то другой может использовать для создания графического интерфейса. После некоторых исследований я видел много строителей графического интерфейса, но не увидел ничего похожего на то, что я ищу.

Но потом я нашел учебник, использующий C # на здесь

Я скорее создаю этот графический редактор для среды Linux.

Есть предложения, с чего мне начать? какие инструменты я могу использовать? Есть ли ссылки на какие-либо учебные пособия?

Любая помощь / направление будет принята с благодарностью.

P.S. Я хотел бы добавить, что это должно быть очень просто. например, несколько полей ввода текста и некоторые поля типа кнопок, которые пользователь может расположить в нужном порядке.

Ответы [ 4 ]

6 голосов
/ 19 марта 2010

Я бы порекомендовал вам не пытаться создавать свой собственный конструктор GUI. Это сложная задача, которую вы не сможете выполнить в школьном проекте. C ++ полностью скомпилирован, что означает, что в нем отсутствуют почти все функции, позволяющие людям создавать для него метаинструменты (например, редакторы GUI). Это главным образом связано с тем, что C ++ не имеет отражения во время выполнения (во всяком случае, изначально). Кроме того, не существует «одного инструментария и / или парадигмы графического интерфейса для управления ими всеми». Это делает вашу проблему невероятно трудной для решения.

Итак: я бы порекомендовал Qt , потому что он работает на множестве платформ, прост в использовании и просто потрясающий. Вы также можете посмотреть на миллиарды других инструментов GUI, таких как Gtk +, Tk, FLTK, YAAF, GLUI, dlib, CLX ...

Я знаю, что это на самом деле не отвечает на вопрос. Однако я не думаю, что автор осознает, насколько невероятно трудна задача, которую он перед собой поставил.

1 голос
/ 19 марта 2010

Я бы порекомендовал начать с реализации как интерпретатор. Начните с очень простого инструмента командной строки, который принимает команды, такие как window (300, 400, "window1") и button (50,100, "button1") и т. Д., И выводит код (собственный или любой другой код GUI, который вы хотите) в файл , Цель должна состоять в том, чтобы вывести файл, который можно запустить, и показать разработанный графический интерфейс. Как только вы это сделаете, создайте графический интерфейс, который использует функции командной строки в качестве серверной части.

0 голосов
/ 19 марта 2010

Вы должны использовать GTK + или Qt, если вы нацелены на среду linux. Я думаю, что первый шаг заключается в том, чтобы научиться программировать графический интерфейс, что занимает некоторое время, учитывая, что вы пишете код на языке c / c ++, который отличается от языков более высокого уровня. Не кажется ли вам, что обучение программированию графических программ и одновременному написанию графического редактора - это слишком много. Сначала вы должны освоить основы графического интерфейса, а затем приступить к более сложным проектам.

Вот ссылка на отличную книгу о GTK. (Основы разработки gtk + - Эндрю Краузе)

http://books.google.com/books?id=L1BZZYRrqSgC&printsec=frontcover&dq=foundations+krause&hl=es&cd=1#v=onepage&q=&f=false

А вот отличный учебник / поваренная книга для gtk +.

http://zetcode.com/tutorials/gtktutorial/

Официальная документация находится на сайте library.gnome.org

Мой последний совет - учить одну вещь за раз.

0 голосов
/ 19 марта 2010

У меня нет точных ссылок на это, но вот пример того, что вы могли бы сделать. Gtk имеет опцию загрузки графического интерфейса с помощью класса GtkBuilder. Glade (обычный графический редактор Gtk) поддерживает вывод своего результата в виде файла XML, который затем читает класс GtkBuilder.

Ваша программа может вывести эквивалентно сформированный XML-файл, который может прочитать GtkBuilder.

Я не имею ни малейшего представления о том, насколько сложно было бы нацелить этот XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...