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

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

12.09.2013, 21:21. Показов 7845. Ответов 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
13.09.2013, 20:15
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Я цитату, чью привёл? Тому и пишу...
Пардону прошу:sorry:
погорячился

0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 20:21

Не по теме:

Цитата Сообщение от gromo Посмотреть сообщение
в документации написано, что для того, чтобы включить в проект графическую часть библиотеки, то нужно включить файл <QtWidgets> (в 5.0) вмето <QtGui> в 4.8
В приведённой вами цитате, в 16 посте, файл не упоминается, пишется модуль. Но у меня ни модуля, ни файла такого нет, папка есть (даже две). У вас какая библиотека?



Добавлено через 1 минуту

Не по теме:

У вас ОС Linux?



Добавлено через 3 минуты

Не по теме:

У нас, наверное, библиотеки разные (я про 5.0.2 пишу, для windows).

0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 20:37
Цитата Сообщение от alsav22 Посмотреть сообщение
В приведённой вами цитате, в 16 посте, файл не упоминается, пишется модуль. Но у меня ни модуля, ни файла такого нет, папка есть (даже две). У вас какая библиотека?
Как раз таки файл и упоминается. Вот более полная цитата из доки:
Code
1
2
3
4
5
6
7
Detailed Description
 
To include the definitions of the module's classes, use the following directive:
#include <QtWidgets>
 
To link against the module, add this line to your qmake .pro file:
QT += widgets
но у меня этот файл <QtWidgets> сама IDE не находит автоматом, и даже если вручную прописать путь тоже ругается на отсутствие QtWidgets/QtWidgetsDepends, который инклудится в этом файле(в <QtWidgets>). Скорее всего, я думаю, что это мейнтейнеры еще не доконца ввели поддержку qt5 на линуксе.
Цитата Сообщение от alsav22 Посмотреть сообщение
папка есть (даже две).
аналогично. Вот все, что есть:
Code
1
2
3
/usr/include/qt/QtWidgets  -- каталог
/usr/include/qt/QtWidgets/5.1.1/QtWidgets   -- каталог
/usr/include/qt/QtWidgets/QtWidgets  --- файл
Цитата Сообщение от alsav22 Посмотреть сообщение
У вас ОС Linux?
да. ArchLinux x86_64 я уже выше писал. Так же я писал, что qt5 установлена, но часть осталась и от qt4.8.5 (всего один какой-то пакет, как я смог посчитать. Скорее всего для совместимости).

Добавлено через 8 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
У нас, наверное, библиотеки разные (я про 5.0.2 пишу, для windows).
у меня библиотека 5.1.1. Я не думаю, что они сильно уж разнятся...
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.09.2013, 20:38
Цитата Сообщение от gromo Посмотреть сообщение
Как раз таки файл и упоминается. Вот более полная цитата из доки:
И где там слово "file"? Если это: ".pro file:", так это не про QtWidgets.
Цитата Сообщение от gromo Посмотреть сообщение
Вот все, что есть:
У меня вот этого нет:
Цитата Сообщение от gromo Посмотреть сообщение
/usr/include/qt/QtWidgets/QtWidgets --- файл
Но у меня и не 5.1.1, и не Linux. Может в этом дело.
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 20:51
Может у нас разные варианты перевода, давайте переведем:
To include the definitions of the module's classes, use the following directive:
Чтобы включить определения классов модуля, используйте следующую директиву:

Цитата Сообщение от alsav22 Посмотреть сообщение
И где там слово "file"?
Явно не написано, но что же еще это может быть? Препроцессор после директивы #include, насколько мне известно, обрабатывает ни что иное как текстовые файлы.
+ Я же нашел этот файл (по-видимому из-за того, что библиотека немного свежее вашей), значит это файл.

И дальше в доке написано:
Цитата Сообщение от gromo Посмотреть сообщение
To link against the module, add this line to your qmake .pro file:
QT += widgets
Перевод (опять же, чтобы разрулить возможные расхождения в наших индивидуальных толкованиях этих фраз): Чтобы прилинковать данный модуль, добавьте следующее в ваш проектный файл:

QT += widgets это я так понял вместо 'gui' надо теперь писать. (Во всяком случае, когда запилят уже нормальную поддержку 5-ой кути)
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
13.09.2013, 21:04
Цитата Сообщение от gromo Посмотреть сообщение
о у меня этот файл <QtWidgets> сама IDE не находит автоматом,
креатор автоматом, ну почти, ставит так
C++ (Qt)
1
#include <QtWidgets/QtWidgets>
только что проверил на 5.1.1
взял пример из книги который указывал
поменял include
и в .pro добавил
QT += widgets
Виндос семерка, QtCreator 5.1.1

Добавлено через 2 минуты
вот полный текст
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
//#include <QtGui>
#include <QtWidgets/QtWidgets>
 
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QLabel lbl("Hello, World !");
    lbl.show();
    return app.exec();
}
про файл
TEMPLATE = app
SOURCES = hello.cpp
QT += widgets
win32:TARGET = Hello
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 21:30
Цитата Сообщение от ValeryS Посмотреть сообщение
креатор автоматом, ну почти, ставит так
C++
1
#include <QtWidgets/QtWidgets>
у меня все равно так не находит, пишет, что нет такого файла/каталога.
Но тут я обратил внимание на .pro файл своего проекта и увидел забавную вещь:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
QT       += core gui
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets   #!!!!!!!!!!!!!!!!
 
TARGET = BaseConvInt
TEMPLATE = app
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wpedantic -Wextra
 
 
SOURCES += main.cpp\
        mainwindow.cpp \
    exitdialog.cpp
 
HEADERS  += mainwindow.h \
    exitdialog.h \
    standard_headers_mainwindow.h \
    personal_data.h \
    description.h
 
RESOURCES += \
    toolButtonsImg.qrc \
    appIcon.qrc \
    key_pad.qrc

Так поддерживается совместимость Qt4 u Qt5. (в спойлере выделено как #!!!!!!!!!!!!!!!)
Вот очень полезная тема по этому поводу: http://qt-project.org/forums/viewthread/23119
Там показано, что *.pl скрипты, которые выпускает Nokia для замены путей для инклуда, заменяет <QtGui> HA <QtWidgets> и так далее, советую почитать, если интересно.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
13.09.2013, 21:39
Цитата Сообщение от gromo Посмотреть сообщение
у меня все равно так не находит, пишет, что нет такого файла/каталога.
я даже не писал
начал писать он автоматом ввел QtWidgets/ потом из второго списка QtWidgets
но это было до того как я написал в pro файл
QT += widgets

когда ввел то поведение изменилось
сразу предлагает QtWidgets
т.е получается
C++ (Qt)
1
#include <QtWidgets>
работает и так и так
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 21:50
Цитата Сообщение от ValeryS Посмотреть сообщение
работает и так и так
ну не знаю, именно файл <QtWidgets> у меня отказывается подключать.
И вообще, <QtWidgets> ввели как расширение <QtGui>.
<QtGui> содержит базовые абстракции
<QtWidgets> уже расширяет <QtGui> для определенных платформ.

И, если подвести итог:

1.Используем в .pro файле конструкцию
Code
1
2
3
QT       += core gui
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
как универсальный способ совместимости кути4 и кути5
2. Инклудим все файлы как и раньше, только крайне не рекомендуется использовать префиксы типа
C++
1
#include <QtWidgets/QtWidgets>
и включать сразу весь комплексный модуль-заголовок тобишь <QtGui> u <QtWidgets>
0
 Аватар для iceglen
25 / 25 / 3
Регистрация: 24.06.2013
Сообщений: 109
13.09.2013, 21:53
Получается, что актуальная литература есть только в доках и на русский еще не переводили?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
13.09.2013, 22:07
Цитата Сообщение от iceglen Посмотреть сообщение
Получается, что актуальная литература есть только в доках и на русский еще не переводили?
для пятерки не написали еще
так что скачай четверку, правда не знаю где на официальном сайте не нашел, по ней книг куча
а когда научишься разберешься то легко перейдешь на следующую версию
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 22:14
iceglen, конечно же актуальная и точная информация ТОЛЬКО в доках (по чему бы то ни было).
Цитата Сообщение от iceglen Посмотреть сообщение
на русский еще не переводили?
Сказать не могу точно, но я думаю, что нет. К слову, я даже и не подозревал до этого момента, что использую новые "фичи" Qt5, потому что Qt Creator сам составил совместимый *.pro file "незаметно" от меня А как я выше писал, то стиль инклудов на qt5 не отличается от 4.*

Не по теме:

что-то мы раздули темку :D

0
13.09.2013, 22:31

Не по теме:

Вопрос к тов. gromo. Как к creator'у подцепить 4-ю версию? У меня так же стоит арч х86_64. Ситуация аналогичная - стоит все вперемешку начиная от qt3(прицепился как зависимость) до qt5.1.1. При вооде

Bash
1
qtchooser -list-versions
выдал варианты 4,5,3,default

1
13.09.2013, 22:47

Не по теме:

Цитата Сообщение от iceglen Посмотреть сообщение
выдал варианты 4,5,3,default
у меня так же... Но используется qt5. Главное, чтобы правильно была настроена платформенная конфигурация в самом qtcreator.
Посмотрите Tools > Options > Buil & Run > Kits
в текущей конфигурации пункт Qt Version: и там выбираете нужную. (лично у меня там только qt4. Если ничего нету, то вручную добавляем путь к qmake)

1
13.09.2013, 22:49

Не по теме:

У автора темы 2 сообщения на форуме, он тут и не появляется уже, а вы развели тут...

0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.09.2013, 23:00

Не по теме:

iceglen, кстати у вас там, наверное, прописан путь /usr/lib/qt4/bin/qmake
НО, есть еще /usr/lib/qt/bin/qmake
Так вот, я ради эксперимента, добавил этот путь и применил его в платформенной конфигурации... Это оказался Qt 5.1.1 После перекомпиляции приложения, графические элементы стали выглядеть куда более привлекательнее, вобщем я не понимаю, почему Arch меинтейнеры не сделали хотя бы символьную ссылку на этот /usr/lib/qt/bin/qmake . Вобщем, благодаря вам я только что открыл для себя qt5:good::drink: Сам бы и не полез лишний раз туда)



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
У автора темы 2 сообщения на форуме, он тут и не появляется уже, а вы развели тут...
Ну зато может кто-то почерпнет для себя полезняшек :)



Добавлено через 1 минуту
Ах да, всех с Днем Программиста что-ли
1
13.09.2013, 23:04

Не по теме:

Уже прикрутил, большое спасибо. В /usr/bin есть куча симлинков (qmake-qt3 qmake-qt4 и qmake=qmake-qt5) - их и использовал для настройки. А вообще мейнтейнеры арча вроде как переименовали qt5 просто в qt. Из-за этого и пошла вся каша.

1
13.09.2013, 23:17

Не по теме:

Цитата Сообщение от iceglen Посмотреть сообщение
А вообще мейнтейнеры арча вроде как переименовали qt5 просто в qt. Из-за этого и пошла вся каша.
дааа, помню это изменение давненько было :) Но зато теперь все хорошо) Пойду-ка генту собирать :D:rtfm:

1
13.09.2013, 23:18

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
У автора темы 2 сообщения на форуме, он тут и не появляется уже, а вы развели тут...
Кузя, а нахрена нам автор:) мы тут трепемся, балдеем,присоеденяйся
а то автор придет будет вопросы всякие задавать:( скуушшно

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2013, 23:18

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос. Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех. А широколиственный лес тоже имеет самую крутую биомассу. То почему не возникло их симбиоза? Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru