Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556

Какие должны быть знания для перехода на приложения с GUI?

13.02.2016, 22:10. Показов 1962. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, что мне нужно знать в C++ для того, чтобы уверенно перейти от консолей до изучения написания приложений с GUI?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2016, 22:10
Ответы с готовыми решениями:

Следует дать конкретную постановку, т.е. указать, какие классы должны быть реализованы, какие должны быть в ни
Задание: Перечень классов: квитанция, накладная, документ, чек; Порядок выполнения работы 1. Определить иерархию классов (в...

Магазин видеоигр. Что нужно для функционирования магазина. Какие таблицы должны быть, какие запросы и какие отчеты
Я очень сильно запутался и я не могу себе представить, что нужно для функционирования магазина. Какие таблицы должны быть, какие запросы и...

Для абстрактного класса определить какие методы должны быть абстрактными, а какие обычными.
1. Полную структуру классов и их взаимосвязь продумать самостоятельно. 2. Для абстрактного класса определить какие методы должны быть...

35
Эксперт .NET
 Аватар для Rius
13315 / 7771 / 1688
Регистрация: 25.05.2015
Сообщений: 23,681
Записей в блоге: 14
14.02.2016, 18:43
Студворк — интернет-сервис помощи студентам
Sabnik18, берите Шлее и читайте уже.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
14.02.2016, 18:50  [ТС]
Rius, я прочитал оглавление, комментарий подтвердился, книгу серьёзно нужно читать с конца. Так и должно быть, что книга начинается со сложного? Или это типа показывается, как вообще работают сигналы и слоты?
0
Эксперт .NET
 Аватар для Rius
13315 / 7771 / 1688
Регистрация: 25.05.2015
Сообщений: 23,681
Записей в блоге: 14
14.02.2016, 18:56
Sabnik18, Вы заблуждаетесь, книга начинается с простого, как и положено учебнику.
А умение работать с сигналами-слотами жизненно необходимо из-за архитектуры Qt.
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
14.02.2016, 20:31
Sabnik18, перестаньте талдычить одно и тоже. Если хотите работать - начинайте работать. Хочется просто по... поговорить - тут есть раздел - "Обо всем"
Прошу прощения за резкость, но надеюсь, меня поймут.
0
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
14.02.2016, 20:53
Книга начинается без работы с qt creator, а со всего через код. По книге так можно делать:
Создаешь gui проект, удаляешь ui, удаляешь заголовок mainwindow и cpp. А дальше уже в main пишешь.
Еще можно найти видеоуроки, где идет демонстрация создания приложения именно через ui формы, как по идее полагается в creator.
И то, и то знать нужно, потом понимание придет само почему два таких способа есть.
0
Респект C++
 Аватар для FCommander
23 / 33 / 14
Регистрация: 11.06.2015
Сообщений: 384
15.02.2016, 20:44
Для Qt лучший вариант - Марк Саммерфилд, прочитав его книгу, вы освоите Qt от А до Я, он лучший
Для WinAPI много инфы есть. Для начала надо почитать эту статью:
http://dims.karelia.ru/win32/. У себя проверял, работает.
После неё читайте книгу Финогенова о программировании в Win32 API.
На MSDN КУЧА инфы. Это современный способ. Также можно много чего найти на Библиотеке Братьев Фроловых, так и напишите в браузере. Вам также понадобится справочник функций WinAPI, самых основных, ссылку забыл. "Большой справочник функций WinAPI" (28.chm). GDI подучите, если хотите, ну а как всё это изучите, читайте "А. Побегайло - Системное программирование на WinAPI", самая лучшая книга для системного программирования. Вот и всё!!! Удачи и огромных успехов. Если что, в личку пишите, я сталкивался со всеми проблемами ирешал их и вам без проблем помогу
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
15.02.2016, 22:35
Цитата Сообщение от FCommander Посмотреть сообщение
Для начала надо почитать эту статью:
http://dims.karelia.ru/win32/.
Да. Симпатичный детский сад.
Цитата Сообщение от FCommander Посмотреть сообщение
Для Qt лучший вариант - Марк Саммерфилд,
Ну, я бы не советовал с нее начинать. Хотя, безусловно, это лучшее, что есть на русском языке. Но требует уже какой-то подготовки. Для тех, кто уже в лодке. Вот совместно с Бланшет - это и для новичков подойдет. Хотя она пожестче будет, чем Шлее.
Но вообще тут все просто. Была бы голова, да немножко желания...
0
Респект C++
 Аватар для FCommander
23 / 33 / 14
Регистрация: 11.06.2015
Сообщений: 384
16.02.2016, 04:40
Цитата Сообщение от 8-BITOV
Да. Симпатичный детский сад.
А что тут такого? Я ему ссылку на самый ПЕРВЫЙ урок дал. Ему что уже с первого урока MDI окошки создавать, граф. редактор делать или прогу для сетей, математики, системы писать??? Пусть сначала с MessageBox начнёт, потом с окна, управляющих элементов, меню, диалоговых окон. То есть, с основ.
0
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
16.02.2016, 11:29
А есть ли сейчас смысл изучать win api для gui? Окошки можно и кроссплатформенно клепать с помощью десятка библиотек/фреймворков, тем более графический интерфейс давно перестал съедать хоть сколько-нибудь ощутимо, чтобы пытаться оптимизировать там что-то засчет нативного api.
1
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
16.02.2016, 12:46
Цитата Сообщение от edwvee Посмотреть сообщение
А есть ли сейчас смысл изучать win api для gui?
ИМХО, ответ однозначен.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
16.02.2016, 12:56  [ТС]
8-BITOV, Саммерфилд описывает все предельно понятно и начинает с легкого, что позволяет читать его книгу "не задом наперед", как у Шлее.
Вот только плохо, что Qt4.
Пользуясь случаем, могу ли я поинтересоваться, в чем тут проблема в коде Саммерфилда?
C++ (Qt)
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
#include "widget.h"
#include <QApplication>
#include <QPushButton>
#include <QSlider>
#include <QSpinBox>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget *window = new QWidget;
    window->setWindowTitle("Введите имя: ");
    QSpinBox *spinBox = new QSpinBox;
    QSlider *slider = new QSlider(Qt::Vertical);
    spinBox->setRange(0,130);
    slider->setRange(0, 130);
    QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));
    QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
    spinBox->setValue(35);
    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWiget(spinBox);
    layout->addWiget(slider);
    window->setLayout(layout);
    window->show();
    return a.exec();
}
Ошибка: 'class GHBoxLayout' has no membered named 'addWidget'
FCommander, edwvee

Добавлено через 8 минут
О Господи, минут 10 думаю, что не так, все возможные статьи о QHBoxLayout уже прочитал, а проблема в том, что
C++ (Qt)
1
2
 layout->addWiget(spinBox);
    layout->addWiget(slider);
wiGet, вместо wiDGet...
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
16.02.2016, 13:15
Sabnik18, Может мы о разном говорим?
Есть (на русском языке)
1.Жасмин Бланшет и Марк Саммерфилд "Qt4 Программирование GUI на C++" Кудиц-Пресс Москва 2008 720 стр (на обложке дядька махает руками)
2.М.Саммерфилд "Qt Профессиональное программирование" Символ СП-Москва 2011 550 стр (с рыцарем на обложке)
Первая - да. Вполне подходит для начинающих на Qt (не на С++, а именно на Qt). Поконкретнее Шлее. То, что у того рассказывается на 200-й странице, у БС уже на 30-й
Ну а вторая - извиняйте. Там просто, чтоб понять, о чем речь, надо в Кутю уже въехать...
Цитата Сообщение от Sabnik18 Посмотреть сообщение
в чем тут проблема в коде
Этот код для Qt вообще совершенно не показателен. Майн - это не то место, где вообще могут возникнуть какого-либо рода проблемы. Да, приведенный вами код совершенно ясен. Но если бы все коды у Саммерфилда были таковы, вряд ли бы стоило его даже открывать

Добавлено через 5 минут
Sabnik18, прошу прощения. Не понял вашего вопроса. Решил, что это - полемика. А вы просили помощи.
Да, ошибки такого рода нередки. Рад за вас, что разобрались.
Набор кода в Креаторе тут может немного облегчить жизнь.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
16.02.2016, 14:53  [ТС]
8-BITOV, прочитал, немного разобрался. Что может означать ошибка "'findPrevious' was not declared in this scope" в данном контексте:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void FindDialog::findClicked()
{
    QString text = lineEdit->text();
    Qt::CaseSensitivity cs = caseCheckBox->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive;
    if(backwardCheckBox->isChecked())
    {
        emit findPrevious(text, cs);
    }
    else
    {
        emit findNext(text, cs);
    }
}
void FindDialog::enableFindButton(QString &text)
{
    findButton->setEnabled(!text.isEmpty());
}
(это не вся программа, но ошибка именно в вызове сигнала)
Вот заголовочник:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class FindDialog: public QDialog
{
    Q_OBJECT
public: FindDialog(QWidget *parent = 0);
signals:
    void findNext(const QString &str, Qt::CaseSensitivity cs);
    void findPrev(const QString &str, Qt::CaseSensitivity cs);
private slots:
    void findClicked();
    void enableFindButton(QString &text);
private:
    QLabel *label;
    QLineEdit *lineEdit;
    QCheckBox *caseCheckBox;
    QCheckBox *backwardCheckBox;
    QPushButton *findButton;
    QPushButton *closeButton;
};
0
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
16.02.2016, 14:56
Надо сигнал такой добавить в класс.
Понятно же написано: не может найти такой-то идентификатор в текущей области видимости.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
16.02.2016, 15:06  [ТС]
edwvee,
Опять не заметил, что в классе сделал сигнал findPrev, а вызвал findPrevious. Так всегда, когда работаешь с большим кодом, в котором ты еще не успел разобраться?
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
16.02.2016, 20:50
Цитата Сообщение от Sabnik18 Посмотреть сообщение
Опять не заметил,
Но тебе же на чистом англицком языке было сказано...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2016, 20:50
Помогаю со студенческими работами здесь

какие характеристики должны быть у ноутбука для работы с visual studio
Наверно уже ясно из названия выше что я ищу ноутбук для работы в visual studio 2019 хочу себя прикупить но я не знаю примерных...

я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!
я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!.. например какие...

Какие температуры должны быть и как настроить оптимальную для моей системы частоту вращения куллера на видеокарте?
Недавно, точнее сегодня у меня появился новый комп. Я играю около 10-15 минут в батлу 3 или в блек опс и у меня вылетает синий...

Какие должны быть настройки
Всем привет! Не трогал VBA лет 15, а может 20... Теперь вот опять понадобилось. Sub FP() ' FP Макрос Cells(0, 10) = 10 ...

Какие должны быть характеристики у монитора
Всем привет, к выбору монитора думаю мне стоит отнестись очень серъезно - за компом я провожу каждый день минимум 10 часов + ко всему глаза...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru