Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/120: Рейтинг темы: голосов - 120, средняя оценка - 4.82
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Как для программы на Си сделать Gui?

29.09.2019, 22:09. Показов 26219. Ответов 70
Метки нет (Все метки)

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

Добавлено через 15 минут
Раз Gimp написан на Си, значит и окна, кнопки можно программировать, только как?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2019, 22:09
Ответы с готовыми решениями:

Есть ява приложение с GUI. нужна фукнция для программы. как сделать ?
Есть прикладная задача - управление приточно-вытяжной установкой по уровню CO2 (замеряемому настольным датчиком) с помощью ИК сигналов ...

Сделать GUI (вывод текста) для готовой программы
Всем добрый день, у меня такой вопрос - как можно сделать GUI (скорее всего на PyQt4) для уже написанной, работающей программы? Суть в...

GUI для программы
Во время добавления 2 кнопки, появляеться проблема, она добавляет ещё одну кнопку вместе с собой. Т.е. если добавляеться 2-я кнопка то с...

70
Заблокирован
01.10.2019, 15:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от stake-k26 Посмотреть сообщение
Если у тебя действительно linux, а не какая-нибудь ubuntu
А чем Ubuntu не нравится?
Сейчас сам пользуюсь Сalculate Linux - форк Gentoo, но только потому, что не хочу systemd.
Но сейчас приходит эра таких дистрибутивов, как Nix и Gux, где пакетные менеджеры выходят на новый уровень и существует возможность отката в любую точку.
Я бы поставил FreeBSD и накатил бы совместимость с Linux - самая приятная штука.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Дык... Гугл в помощь. Или графические менеджеры вроде того же Синаптика. Но именно в Убунте вроде был какой-то магазин с приложениями, а не пакетами.
Он делался под планшеты и самртфоны. Но проект почил в бозе. У меня телефон на Ubuntu
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,326
01.10.2019, 16:06
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А вы им пользовались как самостоятельным дистрибутивом или как просто еще одной оболочкой?
Какие-то странные вопросы пошли. Вы пост повнимательнее почитайте, там уже есть все ответы.

По поводу "оболочки".. ну, тут вы совершенно неправы, поскольку ubuntu - это ни разу не оболочка, а именно дистрибутив, и если бы я хотел именно оболочку, то наверное ставил бы себе Unity и apt, правда не знаю зачем.

Могу перечислить тонну дистрибутивов, начиная от давно забытых Mandrake, MOPS и ASP, в которых компилятор стоял по умолчанию. Откровенно говоря, в 2006'м Ubuntu стала для меня первым дистрибутивом, в котором я не нашел компилятора из коробки.

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

Я например, остановился на Slackware, Gentoo и оптимальном для меня Linux From Scratch. На момент поисков у меня было лишь одно требование - дистрибутив ни в коем случае не должен быть завязан на rpm или deb, когда при установке одного пакета по зависимостям тянется еще целый вагон непонятно чего и зачем, так что может debian и не плох, но моим требованиям к дистрибутиву никак не удовлетворяет.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
01.10.2019, 16:12  [ТС]
Так вы на каком языке писать-то собираетесь? Вроде раздел по Си а упоминаете C#.
Если имеется в виду MonoDevelop — то Википедия сообщает, что это для Си тоже https://ru.wikipedia.org/wiki/MonoDevelop
А в видео про C#, как его устанавливать.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
02.10.2019, 17:11  [ТС]
Вопрос по поводу Monodevelop.
Вот здесь
https://www.ibm.com/developerw... index.html
написано, что он содержит
визуальный редактор форм для проектов на Gtk#;
Значит ли это, что для Си он не подходит для визуального создания форм?
https://monodevelop.software.i... /download/
А то в разных вариантах с абривиатурой Gtk не разбираюсь ещё хорошо, поэтому задал такой вопрос.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
03.10.2019, 08:25  [ТС]
Прошу подсказать по поводу программы Borland C++ Builder 6 и создания графического интерфейса в нем. Для его использования нужно изучать именно C++ или достаточно Си?
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,939
03.10.2019, 09:27
там все gui построено на объектах, то есть понимать их придется. Но вот шаблонов и прочих С++-специфичных извращений там, насколько я помню, нет.
Если знаете Си и структуры - разберетесь.
Другое дело, что эта среда провоцирует плохой стиль кода вроде запихивания логики программы в оконные события.
Еще одно другое дело, что CBuilder несколько устарел. Если задача собрать gui на "тяп-ляп и готово" то сойдет, а если для обучения и полноценного использования - лучше те же Qt и gtk.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
03.10.2019, 13:21  [ТС]
Си не знаю. Просто начал изучать программирование по этому курсу http://voskov-in1741.narod.ru/c_intro.htm и прошёл несколько уроков. Если изучу эти статьи до конца, хочется иметь навык с возможностью делать программы с интерфейсом. Пока только не определился с обучающим материалом. Хотелось бы конечно на русском по Qt и gtk для Си лекции.

Добавлено через 1 час 34 минуты
Qt пока не хочу использовать, потому что платный продукт. А ОпенСурс возможно наверное поизучать, пока места несколько гигабайт под негу тету. Насчёт gtk думаю.
Существуют такие обучающие видео:
C + Gtk+ контейнер GtkBox
C + Gtk+ создание простого приложения
Язык Си. Установка QT. Подключение OpenGL(glfw).

Добавлено через 47 минут
C GTK+ Tutorials 01 - A Blank Window
https://www.youtube.com/playli... smVMHI8UL4
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,939
03.10.2019, 13:40
Цитата Сообщение от supmener Посмотреть сообщение
Qt пока не хочу использовать, потому что платный продукт.
То есть платный CBuilder вас устраивает, а опенсорсные Qt и gtk - нет? Странная логика.
Цитата Сообщение от supmener Посмотреть сообщение
Существуют такие обучающие видео:
...говорит о том, что кто-то хочет впустую потратить время. Ну нельзя научиться программированию по видео. Для этого книжки есть!
Максимум по видео можно вызубрить (не научиться!) интерфейс какой-то программы, той же msvs.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
03.10.2019, 14:58  [ТС]
То есть платный CBuilder вас устраивает, а опенсорсные Qt и gtk - нет? Странная логика.
Собираю информацию, чтобы потом оптимальным путем идти. CBuilder хочется хотя бы посмотреть в работе.

Для этого книжки есть!
Какие книжки по обсуждаемой теме визуальных интерфейсов для программ на Си можете посоветовать?

Добавлено через 31 минуту
http://caesar.ftp.acc.umu.se/p... taller.exe
Ссылки для Download master. Как понял, видео на сервере в качестве 360 (для тех, кто понимает, что это за цифры).
https://www.youtube.com/watch?v=vOGK3TveDDk
https://www.youtube.com/watch?v=CZqYmj32b9w
https://www.youtube.com/watch?v=tj4PTjdDJms
https://www.youtube.com/watch?v=RxqZ_2fz-ZI
https://www.youtube.com/watch?v=budok8noX8c
https://www.youtube.com/watch?v=r9yP7WBY1B4

Добавлено через 23 минуты
Сам пока не понял, надо ли устанавливать в довесок к Glade https://netix.dl.sourceforge.n... 10-ash.exe

Сразу не понял, как кнопки перетаскивать, там на панели вверху есть кнопка в виде креста со стрелками.

Добавлено через 8 минут
Чтобы редактировать элемент, надо его выделить. Он в списке справа вверху подсветится, надо вызвать на подсвеченном пункте контекстное меню и нажать "Редактировать раздельно".
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,939
03.10.2019, 15:00
Цитата Сообщение от supmener Посмотреть сообщение
Какие книжки по обсуждаемой теме визуальных интерфейсов для программ на Си можете посоветовать?
Увы, никаких. С GUI развлекался давным-давно в школе, как раз на CBuilder'е и Delphi (то же самое, но вместо С++ используется Паскаль).
Сейчас использую пишу в основном консольные утилиты, прошивки для контроллеров и, изредка, графику на OpenGL опять же без нормального GUI.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
03.10.2019, 15:38  [ТС]
Хм, что то в XP при закрытии программы без сохранения проекта Glade упал с ошибкой.

Добавлено через 3 минуты
Не подскажите, как в Glade писать текст на главном окне интерфейса?

Добавлено через 32 минуты
https://www.youtube.com/watch?v=y5q2Ucv0ktc
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,939
03.10.2019, 20:26
Цитата Сообщение от supmener Посмотреть сообщение
Не подскажите, как в Glade писать текст на главном окне интерфейса?
Да я даже не знаю что это такое.
0
 Аватар для ibse
136 / 76 / 60
Регистрация: 14.09.2019
Сообщений: 218
03.10.2019, 20:28
Цитата Сообщение от supmener Посмотреть сообщение
Си не знаю. Просто начал изучать программирование по этому курсу http://voskov-in1741.narod.ru/c_intro.htm и прошёл несколько уроков
то есть, вы ещё даже хело ворлд не написали, но уже спрашиваете как на Си (на Си, Карл) писать GUI?
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,939
04.10.2019, 07:58
ibse, ну, на том же CBulder'е можно формошлепать и без знаний языка. Далеко, конечно, не уйдешь, но все же.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
04.10.2019, 10:17  [ТС]
Написал ведь, что учу Си.

Увидел следующие фрагменты текста. Кто то уже знает, можно ли с помощью этих программ делать графический интерфейс для программ, написанных на Си?

Википедия
wxDev-C++ является развитием проекта Dev-C++, но также содержит дизайнер форм для библиотеки разработки wxWidgets. WxDev-C++ включает все свойства Dev-C++, а также новейшую версию wxWidgets, необходимую дизайнеру форм для среды быстрой разработки приложений (rapid application development — RAD).
(Dev-C++ — свободная интегрированная среда разработки приложений для языков программирования C/C++. В дистрибутив входит компилятор MinGW. Сам Dev-C++ написан на Delphi. Распространяется согласно GPL. )
http://rusmanualwxdev.blogspot.com/

https://континентсвободы.рф/%D... F-c-c.html
ZinjaI
Внешние инструменты интеграции: быстрая генерация GUI с wxFormBuilder, внутренняя генерация документации с Doxygen, профилирование выполнения с GProf и Valgrind, статический анализ с cppcheck;

https://ruprogi.ru/software/ecere
Ecere SDK
Ecere IDE - это полная среда разработки для редактирования кода, разработки графических пользовательских интерфейсов, управления и создания проектов, а также отладки. Его цель - полностью поддерживать программирование на основе eC и C, но также поддерживает включение и создание, например, C ++ в качестве части проектов.

https://ruprogi.ru/software/widestudio
WideStudio
WideStudio - это интегрированная среда разработки с открытым исходным кодом для настольных приложений, чисто сделанных в Японии. Это позволяет разрабатывать графические приложения, которые могут работать в Windows95 / 98 / Me / NT / 2000 / Xp, WindowsCE, Linux, FreeBSD, SOLARIS, MacOSX (w / X11), BTRON, T-Engine, mu-CLinux (wo / X11) на различных языках программирования, таких как C / C ++, Java, Perl, Ruby, Python, Objective Caml

https://ruprogi.ru/software/xvt
XVT
XVT - среда разработки программного обеспечения для создания кросс-платформенных графических приложений на C или C ++. XVT позволяет разработчикам графически выкладывать графический интерфейс приложения и предоставляет библиотеки кросс-платформенных приложений для поддержки разработки.

Добавлено через 1 час 0 минут
https://www.youtube.com/watch?... jrVXWiui9S

https://www.youtube.com/playli... JrPOIUR_NK
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
05.10.2019, 23:39  [ТС]
Не могли бы Вы подсказать, как сделать простенькую графическую программу вот в этом
https://progtips.ru/c_express

Сборка Си-экспресс 2.0

Состав:

1. Среда программирования Code::Blocks ver 17.12
2. Все плагины для Code::Blocks
3. Компилятор mingw GCC, ver 5.1.0
4. Отладчик GDB, ver 7.9.1
5. Библиотека для создания графического интерфейса GTK+, ver 3.6.4
6. Редактор интерфейса Glade, ver 3.8.5
7. Графическая библиотека Cairo, ver 1.10.2
8. Встраиваемая СУБД SQLite, ver 3.4
9. Визуальный менеджер SQLiteStudio, ver 3.1.1

Добавлено через 21 минуту
В принципе уже можно не подсказывать по последнему посту, кое что уже понял сам.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
06.10.2019, 12:32  [ТС]
Подсказали в комментариях https://www.youtube.com/watch?v=zhXFdhownZA, что wxDev C++ не подходит для создания графического интерфейса на Си.

Добавлено через 2 часа 27 минут
http://www.xvt.com/content/xvt-dsc-c
Это оказывается платная $1,295.00
https://www.youtube.com/watch?v=k9lD7WtS4qM

Насчёт остальных сделал или сделаю (модератор должен одобрить учетную запись на форуме) запрос в сообщества, чтобы там подсказали, можно ли применять для создания графического интерфейса на Си.
0
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 4
06.10.2019, 15:25
Если изучаешь Си, то зачем тебе какой-то графический интерфейс, пиши в консоли - лучше разберешься в самом языке, изучишь синтаксис, алгоритмы и тд.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
06.10.2019, 16:16
Цитата Сообщение от stake-k26 Посмотреть сообщение
Кстати, на секундочку! А что если я новичок в линкусе и не знаю какие пакеты мне нужны??
Bash
1
$ apt-cache search keyword
не?

Добавлено через 4 минуты
Цитата Сообщение от supmener Посмотреть сообщение
Прошу подсказать, можно ли на Си делать окошки и кнопки
Можно. Но можно не значит нужно. От себя рекоментудю для формошлепства RAD. Свободный lazarus (использует gtk) или embarcadero.
Цитата Сообщение от supmener Посмотреть сообщение
Если нельзя, то как связать код с другим языком программирования, где это можно делать?
Например линковать с динамическими библиотеками. Пишете dll/so на любом удобном языке и дергаете ее из своей программы. В общем и целом писать GUI на си плохая затея. Хотя если на счету каждый байт, то литературу по OS-specific программированию в зубы и вперед.
1
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
06.10.2019, 17:10
supmener, на Си трудно создать первое GUI приложение. Изучайте его из консоли. Если вам хочется изучать программирование и не при этом не терпится создавать оконные приложения, но самый простой вариант взять WinForms и C#. Я видел, что вы недавно создали темы "GUI на Java" и "GUI на Python (PyQt)", но он у вас оба варианта не получились, потому что у вас Windows XP. Самый лёгкий и быстрый вариант для вас изучать GUI - это поставить Visual Studio 2010 (или возможно даже VS 2012 пойдёт на XP - погуглите). Тогда не должно возникнуть никаких проблем с WinForms и C#. Сейчас вы просто теряете драгоценное время на то, что не востребовано ни в одной конторке. Как правило, язык Си обычно используют для других целей: микроконтроллеры, драйвера, системное программирование (например, ядро операционной системы), но НЕ для окон, кнопок, списков, таблиц, баз данных и т.д. Если так хочется и на практике познакомиться, как работает Windows, то изучайте WinAPI - это не только GUI, но и куча всего другого, что может предоставить ОС Windows.

Как вариант, можете начать с этой книги: Win32 API. Эффективная разработка приложений - Юрий Щупак

Описание

В этой книге изложены основополагающие принципы программирования для Windows на языке C/C++ с применением Win32 API.
Книга ориентирована на широкий круг читателей: от начинающих программистов, студентов вузов, аспирантов и преподавателей до профессионалов в области программирования, желающих освоить специальные средства Win32 API.

Практика показывает, что те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьезными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней.

Владение базовыми знаниями Win32 API является надежной основой для вашего профессионального роста в сфере программирования.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.10.2019, 17:10
Помогаю со студенческими работами здесь

GUI для C# программы
Доброго времени суток :) Однажды мне тут уже помог очень классный парень и замутил шикарнейшую программу... Но как оказалось еще и GUI...

Как запустить qt gui программу, как демон, без gui, скрыв gui?
Как запустить qt gui программу, как демон, без gui, скрыв gui? В gui браузер выполняет определенные действия, и нужно запустить этот...

GUI для коммерческой программы
Какую библиотеку выбрать чтобы создать гуи - окно с кнопками. Например мы хотим создать свою программу и начать ее продавать. Что...

Gui для консольной программы
Всем привет. Мне надо создать gui оболочку для готовой консольной программы, чтобы пользователь вводил в textbox'ы нажимал кнопку и...

Создание GUI для простой программы
Здравствуйте. Срочно нужна помощь. Нужно сделать гуй для программы: #include <stdio.h> #include <iostream> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru