Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 28

Реализация графического интерфейса

12.09.2013, 21:21. Показов 7468. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.Долгое время уже изучаю c++,сейчас надоели консольные приложения,решил научиться делать кнопки и т.д. Почитал как это делается,было много разных вариантов,где-то писали что это устарело,либо это "не огонь".Можете подсказать литературу которую нужно изучить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2013, 21:21
Ответы с готовыми решениями:

Реализация графического интерфейса пользователя в приложениях WinAPI. Ошибка default
Сама программа: // фывфвфыв.cpp: определяет точку входа для приложения. // #include "stdafx.h" #include...

Подключение графического интерфейса
Начал делать масштабный проект через консольное приложение, с мыслью "вот сейчас наберусь опыта в кодописании, а потом просто подключу...

Создание графического интерфейса
Дали задание написать матричный калькулятор.Я вроде с этим справился теперь нужен интерфейс для неё .раньше никогда не делал.использую...

38
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
12.09.2013, 21:24
я бы советовал Qt SDK - очень удобный кроссплатформенный инструментарий для создания GUI и не только.
Официальный сайт: http://qt-project.org/ >> Get Started и вперед.

Литература: Жасмин Бланшет "Qt4 Программирование GUI на С++". - на мой взгляд единственная вменяемая книга на эту тему.
Qt еще долгое время будет "огонь!", потому что имеет очень удобную организацию классов, да и просто неиллюзорный народный успех.
Является FREE SOFTWARE (ну отчасти ), что, несомненно, однозначный +++
0
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
12.09.2013, 21:31
NewFag, сам по себе язык С++ не имеет возможности создавать GUI, только используя сторонние библиотеки. Qt, wxWidgets или же WinAPI для программирования под Windows. Но последний вариант будет только под Windows. Кроме тех, которые я перечислил, есть много различных библиотек. Для программирования под разные ОС я рекомендую Qt. Там своя специфика, но это весьма удобный фреймворк, который имеет инструментарий не только для GUI но и для других задач(мультимедиа, 3D, набор алгоритмов и многое другое).
0
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 28
12.09.2013, 22:10  [ТС]
Благодарю
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
12.09.2013, 22:14
Цитата Сообщение от gromo Посмотреть сообщение
Официальный сайт: http://qt-project.org/
только на нем 5 лежит
а ты 4 рекомендуешь
Цитата Сообщение от gromo Посмотреть сообщение
Литература: Жасмин Бланшет "Qt4 Программирование GUI на С++".
просто так не перейти опыт нужен
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 02:07
Цитата Сообщение от ValeryS Посмотреть сообщение
только на нем 5 лежит
а ты 4 рекомендуешь
а разница?

Добавлено через 23 секунды
4 актуально и для 5
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
13.09.2013, 04:02
рекомендую WinAPI
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
13.09.2013, 07:52
Цитата Сообщение от gromo Посмотреть сообщение
4 актуально и для 5
я еще раз говорю
в пятерке много отличий от четверки, и примеры из книги не идут приходится "обрабатывать напильником", что для начинающих не всегда возможно
например
Макс Шлее "Qt4.8 Профессиональное программирование на С++" (что под рукой)
Глава 1 Первая программа на Qt
C++ (Qt)
1
2
3
4
5
6
7
8
9
#include <QtGui>
 
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl("Hello, World !");
    lbl.show();
    return app.exec();
}
ошибки
C:\Qt_Project\samplesBOOOK\chapter01\Hel lo\hello.cpp:26: ошибка: variable 'QApplication app' has initializer but incomplete type
C:\Qt_Project\samplesBOOOK\chapter01\Hel lo\hello.cpp:27: ошибка: 'QLabel' was not declared in this scope
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 18:26
Цитата Сообщение от ValeryS Посмотреть сообщение
в пятерке много отличий от четверки, и примеры из книги не идут приходится "обрабатывать напильником",
Это так в книге написано? конечно же incomplete type, потому что не включен <QApplication>. И почему 2 строчка приведенного вами кода пустая? может как раз там и был этот инклуд?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
13.09.2013, 18:49
Цитата Сообщение от gromo Посмотреть сообщение
Это так в книге написано?
конечно так написано, не сам же придумал
Цитата Сообщение от gromo Посмотреть сообщение
потому что не включен <QApplication>.
входит( в четверке) в QtGui
ну вот тебе цитата
В первой строке листинга 1.1 подключается заголовочный файл QtGui, который представляет представляет собой файл модуля, включающий в себя заголовочные файлы для используемых в нашей программе классов: QApplication и QLabel.
Цитата Сообщение от gromo Посмотреть сообщение
И почему 2 строчка приведенного вами кода пустая? может как раз там и был этот инклуд?
а ты всегда пишешь подряд?
не выделяя блоки?
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 19:04
Цитата Сообщение от gromo Посмотреть сообщение
потому что не включен <QApplication>
В 4, QApplication и QLabel, находятся в QtGui, в 5 - в QtWidgets.
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
13.09.2013, 19:09
Цитата Сообщение от alsav22 Посмотреть сообщение
В 4, QApplication, находится в QtGui, в 5 - в QtWidgets.
ну и ???
как это расходится с моими словами
Цитата Сообщение от ValeryS Посмотреть сообщение
в пятерке много отличий от четверки, и примеры из книги не идут приходится "обрабатывать напильником", что для начинающих не всегда возможно
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 19:16
Цитата Сообщение от ValeryS Посмотреть сообщение
ну и ???
как это расходится с моими словами
Я цитату, чью привёл? Тому и пишу...
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 19:22
Цитата Сообщение от ValeryS Посмотреть сообщение
входит( в четверке) в QtGui
не знал, извините
Цитата Сообщение от ValeryS Посмотреть сообщение
а ты всегда пишешь подряд?
не выделяя блоки?
нет. Я думал, что пропущен инклуд, потому что (см.выше).

пишу в основном из-под ArchLinux, а здесь пока вперемешку все: вроди бы пакеты qt5 стоят все, но и qt 4.8 тоже присутствует. Да и заголовочного файла <QtWidgets> нету(
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 19:31
Цитата Сообщение от gromo Посмотреть сообщение
Да и заголовочного файла <QtWidgets> нету
Это не заголовочный файл, а папка (в 5). Заголовочный файл QWidget.
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 19:37
Цитата Сообщение от alsav22 Посмотреть сообщение
Это не заголовочный файл, а папка (в 5). Заголовочный файл QWidget.
Из документации:

Code
1
2
To include the definitions of the module's classes, use the following directive:
#include <QtWidgets>
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 19:41
И что из этого? QtWidgets стал заголовочным файлом? Зайдите в папку библиотеки и посмотрите, что это.
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 19:58
Цитата Сообщение от alsav22 Посмотреть сообщение
И что из этого? QtWidgets стал заголовочным файлом? Зайдите в папку библиотеки и посмотрите, что это.
файл /usr/include/qt/QtWidgets/QtWidgets
вот его содержание:
Кликните здесь для просмотра всего текста
#ifndef QT_QTWIDGETS_MODULE_H
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#define QT_QTWIDGETS_MODULE_H
#include <QtWidgets/QtWidgetsDepends>
#include "qcolordialog.h"
#include "qdialog.h"
#include "qerrormessage.h"
#include "qfiledialog.h"
#include "qfilesystemmodel.h"
#include "qfontdialog.h"
#include "qinputdialog.h"
#include "qmessagebox.h"
#include "qprogressdialog.h"
#include "qwizard.h"
#include "qgraphicseffect.h"
#include "qgraphicsanchorlayout.h"
#include "qgraphicsgridlayout.h"
#include "qgraphicsitem.h"
#include "qgraphicsitemanimation.h"
#include "qgraphicslayout.h"
#include "qgraphicslayoutitem.h"
#include "qgraphicslinearlayout.h"
#include "qgraphicsproxywidget.h"
#include "qgraphicsscene.h"
#include "qgraphicssceneevent.h"
#include "qgraphicstransform.h"
#include "qgraphicsview.h"
#include "qgraphicswidget.h"
#include "qabstractitemdelegate.h"
#include "qabstractitemview.h"
#include "qcolumnview.h"
#include "qdatawidgetmapper.h"
#include "qdirmodel.h"
#include "qfileiconprovider.h"
#include "qheaderview.h"
#include "qitemdelegate.h"
#include "qitemeditorfactory.h"
#include "qlistview.h"
#include "qlistwidget.h"
#include "qstyleditemdelegate.h"
#include "qtableview.h"
#include "qtablewidget.h"
#include "qtreeview.h"
#include "qtreewidget.h"
#include "qtreewidgetitemiterator.h"
#include "qaction.h"
#include "qactiongroup.h"
#include "qapplication.h"
#include "qboxlayout.h"
#include "qdesktopwidget.h"
#include "qformlayout.h"
#include "qgesture.h"
#include "qgesturerecognizer.h"
#include "qgridlayout.h"
#include "qlayout.h"
#include "qlayoutitem.h"
#include "qshortcut.h"
#include "qsizepolicy.h"
#include "qstackedlayout.h"
#include "qtooltip.h"
#include "qwhatsthis.h"
#include "qwidget.h"
#include "qwidgetaction.h"
#include "qkeyeventtransition.h"
#include "qmouseeventtransition.h"
#include "qcommonstyle.h"
#include "qdrawutil.h"
#include "qproxystyle.h"
#include "qstyle.h"
#include "qstylefactory.h"
#include "qstyleoption.h"
#include "qstylepainter.h"
#include "qstyleplugin.h"
#include "qcolormap.h"
#include "qcompleter.h"
#include "qscroller.h"
#include "qscrollerproperties.h"
#include "qsystemtrayicon.h"
#include "qundogroup.h"
#include "qundostack.h"
#include "qundoview.h"
#include "qabstractbutton.h"
#include "qabstractscrollarea.h"
#include "qabstractslider.h"
#include "qabstractspinbox.h"
#include "qbuttongroup.h"
#include "qcalendarwidget.h"
#include "qcheckbox.h"
#include "qcombobox.h"
#include "qcommandlinkbutton.h"
#include "qdatetimeedit.h"
#include "qdial.h"
#include "qdialogbuttonbox.h"
#include "qdockwidget.h"
#include "qfocusframe.h"
#include "qfontcombobox.h"
#include "qframe.h"
#include "qgroupbox.h"
#include "qlabel.h"
#include "qlcdnumber.h"
#include "qlineedit.h"
#include "qmainwindow.h"
#include "qmdiarea.h"
#include "qmdisubwindow.h"
#include "qmenu.h"
#include "qmenubar.h"
#include "qplaintextedit.h"
#include "qprogressbar.h"
#include "qpushbutton.h"
#include "qradiobutton.h"
#include "qrubberband.h"
#include "qscrollarea.h"
#include "qscrollbar.h"
#include "qsizegrip.h"
#include "qslider.h"
#include "qspinbox.h"
#include "qsplashscreen.h"
#include "qsplitter.h"
#include "qstackedwidget.h"
#include "qstatusbar.h"
#include "qtabbar.h"
#include "qtabwidget.h"
#include "qtextbrowser.h"
#include "qtextedit.h"
#include "qtoolbar.h"
#include "qtoolbox.h"
#include "qtoolbutton.h"
#include "qtwidgetsversion.h"
#endif

ЧЯДНТ? Я не очень силен в Qt, поэтому, если я ошибаюсь, то прошу объясните мне в чем.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 20:01
Цитата Сообщение от gromo Посмотреть сообщение
вот его содержание:
Я не пойму о чём вы? Словами скажите, пожалуйста.
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 20:06
alsav22, в документации написано, что для того, чтобы включить в проект графическую часть библиотеки, то нужно включить файл <QtWidgets> (в 5.0) вмето <QtGui> в 4.8
Вы же говорите:
Цитата Сообщение от alsav22 Посмотреть сообщение
И что из этого? QtWidgets стал заголовочным файлом? Зайдите в папку библиотеки и посмотрите, что это.
я и зашел в папку с библиотекой и обнаружил этот файл, который, судя по его содержанию (в спойлере выше) является все-таки заголовочным файлом. Следовательно его и надо теперь включать в свою программу вместо <QtGui>.
Цитата Сообщение от gromo Посмотреть сообщение
Я не очень силен в Qt, поэтому, если я ошибаюсь, то прошу объясните мне в чем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2013, 20:06
Помогаю со студенческими работами здесь

Создание графического пользовательского интерфейса
Доброго времени суток всем! Хотел бы обратиться к вам за советом. Вот недавно закончил писать проект на Си и теперь мне пришла идея...

Литература для графического интерфейса
Здравствуйте, у меня есть вопрос. Вот объясните, например я изучаю С++, но там консольные приложения, а как потом писать оконные? Как можно...

GUI: с чего начинать разработку графического интерфейса?
Подскажите с чего начинать разработку графического интерфейса , в рамках универа писал на Python tkinter , сейчас нужно что то более...

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

Среда разработки под C++ с элементами графического интерфейса
Нужно решении, как Delphi, только там пишется языком Паскаль, мне нужно решение под С++, чтобы можно было сделать интерфейс/кнопки и прочие...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru