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

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

13.02.2016, 22:10. Показов 2087. Ответов 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
13824 / 7896 / 1707
Регистрация: 25.05.2015
Сообщений: 23,964
Записей в блоге: 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
13824 / 7896 / 1707
Регистрация: 25.05.2015
Сообщений: 23,964
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru