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

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

29.09.2019, 22:09. Показов 26316. Ответов 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
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
06.10.2019, 21:19  [ТС]
Студворк — интернет-сервис помощи студентам
Благодарю за информацию, с книгой ознакомлюсь. Кстати, задавал вопрос по программированию драйверов, что почитать и не подсказали. Есть такая книга:
В.П. Солдатов - Программирование драйверов Windows
а также сборник из трёх книг:
1000 и одна микроконтроллерная схема (выпуски 1, 2, 3 с СD)

Через изучение Си в консоли перепрыгивать не собираюсь, а собираю информацию по графическим интерфейсам, чтобы потом не было информационного пробела, если дело дойдёт до изучения этого.

"GUI на Java" и "GUI на Python (PyQt)", но он у вас оба варианта не получились
Не то, чтобы не получились, а не хочется распыляться на несколько языков. Основы начинал изучать через PHP, CS50, Фортан, ничего до конца не изучил, так как не было времени. Сейчас, пока есть энтузиазм и несколько свободных дней, изучаю Си.
0
9949 / 2949 / 497
Регистрация: 05.10.2013
Сообщений: 8,025
Записей в блоге: 242
06.10.2019, 21:27
Цитата Сообщение от supmener Посмотреть сообщение
ничего до конца не изучил
Из своего опыта изучения я только понял, что до конца невозможно ничего изучить. Главное, чтобы процесс и результаты приносили радость. Нет пределов новым уровням познания чего бы то ни было.

Цитата Сообщение от supmener Посмотреть сообщение
Сейчас, пока есть энтузиазм и несколько свободных дней, изучаю Си.
Одна из лучших книг от авторов языка для начинающих с нуля: Язык программирования C - Керниган Брайан У., Ритчи Деннис М.
1
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,330
07.10.2019, 02:23
Цитата Сообщение от zeroalef Посмотреть сообщение
не?
не.

Смысл в том, что по любому запросу search вылезет с полсотни пакетов, в названии или описании которых так или иначе присутствует keyword. И если я немножко дуб в данном вопросе, то мне останется только ставить все пакеты подряд, уповая на то, что однажды установится тот самый, который мне нужен.
0
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
07.10.2019, 10:11
Цитата Сообщение от zeroalef Посмотреть сообщение
Свободный lazarus
Он же на Паскале, нет?
Цитата Сообщение от zeroalef Посмотреть сообщение
В общем и целом писать GUI на си плохая затея.
Разработчики gtk с вами не согласны.
Цитата Сообщение от zeroalef Посмотреть сообщение
Хотя если на счету каждый байт
... то это не программирование под ПК, а что-то другое. Встраиваемые системы, например.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Если так хочется и на практике познакомиться, как работает Windows, то изучайте WinAPI - это не только GUI, но и куча всего другого, что может предоставить ОС Windows.
А лучше сразу знакомиться с разными ОС, смотреть на различные подходы к решению одних и тех же задач.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
07.10.2019, 13:35
Цитата Сообщение от stake-k26 Посмотреть сообщение
Смысл в том, что по любому запросу search вылезет с полсотни пакетов
не стоит благодарить, дарю:
Bash
1
$ apt-cache search keyword | grep keyword
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Он же на Паскале, нет?
Да. И?
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Разработчики gtk с вами не согласны.
Как-то до ноги, пардон. Каждый дрочит как хочет. Я уже наигрался с GUI, который ручками писать. RAD большую часть работы берет на себя. Но кому как нравится, я не настаиваю.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
то это не программирование под ПК, а что-то другое.
Откуда такая безапелляционность? Чем встраиваемые системы не ПК? Банкоматы до сих пор на XP работают.
0
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
07.10.2019, 14:15
Цитата Сообщение от zeroalef Посмотреть сообщение
Да. И?
И что оно делает в теме "как на Си сделать GUI" раздела "Си для начинающих"?
Вариант с CBuilder'ом (который почти то же самое, но несвободное и на Си) вроде бы приводился.
Цитата Сообщение от zeroalef Посмотреть сообщение
Откуда такая безапелляционность? Чем встраиваемые системы не ПК? Банкоматы до сих пор на XP работают.
При чем здесь банкоматы? Я про встраиваемые системы говорил. Там используются относительно слабые микроконтроллеры и нестандартные устройства вывода. Операционная система там тоже есть далеко не всегда. Вот там да, нехватка скорости и памяти встречается частенько.
А в "компьютерном" программировании ресурсов обычно достаточно. Если, конечно, не заниматься совсем уж извращениями вроде написания интерфейса к локальной программе на веб-языке.
Впрочем, если приведете примеры, где недостаточно просто грамотного проектирования, где становится необходимым лезть в тонкости ОС и графической системы будет неплохо.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
07.10.2019, 14:45
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
И что оно делает в теме "как на Си сделать GUI" раздела "Си для начинающих"?
Я уже отвечал. По моему скромному мнению писать GUI на си -- не самая лучшая затея. Lazarus привел в пример, т.к. он использует gtk, и формошлепство с ним на порядки проще чем работать напрямую с gtk. Опять же, я не настаиваю.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Впрочем, если приведете примеры, где недостаточно просто грамотного проектирования, где становится необходимым лезть в тонкости ОС и графической системы будет неплохо.
Писать что-либо на си, само по себе предполагает "лезть в тонкости ОС". Хотя бы потому что библиотечные функции для работы с памятью за счет переносимости теряют в производительности, например. Брать си как инструмент само собой предполагает выигрыш в ресурсопотребляемости. Если такая задача не стоит, то и язык можно взять более навороченный. Опять же мое скромное мнение.
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,330
07.10.2019, 16:50
zeroalef, то же самое, только в профиль. Поскольку search уже выдаст все совпадения, греп выдаст тот же самый список из полусотни пакетов (и хорошо если их всего полсотни). Однако это никак не подскажет новичку, какие пакеты из этой полусотни ему нужны. Т.е. мы опять возвращаемся к самому началу.

zeroalef, хотите небольшую подсказку? Не тратьте время на придумывание каких-то вариантов, все они уже были проверены перед написанием самого первого сообщения и не дают нужного результата.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
08.10.2019, 04:46  [ТС]
По поводу ZinjaI получил ответ. Как понял, эта программа не предназначена для создания графического интерфейса на Си. В переводе сообщение выглядит следующим образом:
Интерфейс больше зависит от выбранной вами библиотеки, чем от IDE. Там нет стандартной библиотеки, поэтому вы должны найти что-то еще. Но ... эта IDE имеет некоторые функции для тех, кто выбирает wxWidgets, так что в этом случае это будет проще, и это библиотека C ++, а не C. Большинство современных библиотек GUI и фреймворки - это C ++, благодаря объектно-ориентированной парадигме, что очень хорошо подходит для такого рода задач; но вы все еще можете найти много вариантов C (таких как GTK +).
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
08.10.2019, 10:05
supmener, у вас ОС какая? Если Windows, то что мешает использовать WinApi?
1
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
08.10.2019, 10:38
Недостатков у winapi куча. А есть ли достоинства?
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
08.10.2019, 11:14
COKPOWEHEU, в любом случае лучше, чем тупо сидеть и перебирать библиотеки, ничего не делая. Нет?
0
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
08.10.2019, 12:23
IamLost, с этим не поспоришь Но я бы предложил начать все же с gtk или tk если уж хочется гуй
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
08.10.2019, 13:19
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Но я бы предложил начать все же с gtk или tk если уж хочется гуй
Я бы посоветовал начать с чтения книжек Петзольда по Win API. Раньше, кстати окошки так и писали.. Настоящие программеры, которые могут в простой редактор..
0
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
08.10.2019, 13:23
Ну сейчас-то зачем учить работу с окошками именно на примере winapi, когда есть гораздо более удобные и переносимые библиотеки.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
08.10.2019, 13:41
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Ну сейчас-то зачем учить
Чтобы хотя бы понимать, как там все вертится. Это на самом деле надо знать.
0
 Аватар для COKPOWEHEU
4089 / 2687 / 432
Регистрация: 09.09.2017
Сообщений: 11,949
08.10.2019, 14:07
Так winapi в этом не поможет. Если уж хочется следить именно за оконными событиями - SDL, например.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
08.10.2019, 14:14
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Так winapi в этом не поможет.
Поможет разобраться как работает оконная система виндовс.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
08.10.2019, 14:20  [ТС]
Winapi возможно тоже буду изучать.

Можете ли прокомментировать CSFML?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
08.10.2019, 14:30
Цитата Сообщение от supmener Посмотреть сообщение
Можете ли прокомментировать CSFML?
SFML вроде бы чистая графическая библиотека. Это не гуи, так что к теме не относится.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2019, 14:30
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru