Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250

Объяснение кода

30.12.2009, 02:45. Показов 4197. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
может кто объяснить что тут происходит?
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
BrowserApplication::BrowserApplication(int &argc, char **argv)
    : QApplication(argc, argv)
    , m_localServer(0)
{
    QCoreApplication::setOrganizationName(QLatin1String("Trolltech"));
    QCoreApplication::setApplicationName(QLatin1String("demobrowser"));
    QCoreApplication::setApplicationVersion(QLatin1String("0.1"));
#ifdef Q_WS_QWS
    // Use a different server name for QWS so we can run an X11
    // browser and a QWS browser in parallel on the same machine for
    // debugging
    QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws");
#else
    QString serverName = QCoreApplication::applicationName();
#endif
    QLocalSocket socket;
    socket.connectToServer(serverName);
    if (socket.waitForConnected(500)) {
        QTextStream stream(&socket);
        QStringList args = QCoreApplication::arguments();
        if (args.count() > 1)
            stream << args.last();
        else
            stream << QString();
        stream.flush();
        socket.waitForBytesWritten();
        return;
    }
 
#if defined(Q_WS_MAC)
    QApplication::setQuitOnLastWindowClosed(false);
#else
    QApplication::setQuitOnLastWindowClosed(true);
#endif
 
    m_localServer = new QLocalServer(this);
    connect(m_localServer, SIGNAL(newConnection()),
            this, SLOT(newLocalSocketConnection()));
    if (!m_localServer->listen(serverName)) {
        if (m_localServer->serverError() == QAbstractSocket::AddressInUseError
            && QFile::exists(m_localServer->serverName())) {
            QFile::remove(m_localServer->serverName());
            m_localServer->listen(serverName);
        }
    }
 
#ifndef QT_NO_OPENSSL
    if (!QSslSocket::supportsSsl()) {
    QMessageBox::information(0, "Demo Browser",
                 "This system does not support OpenSSL. SSL websites will not be available.");
    }
#endif
 
    QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl");
    QString localSysName = QLocale::system().name();
 
    installTranslator(QLatin1String("qt_") + localSysName);
 
    QSettings settings;
    settings.beginGroup(QLatin1String("sessions"));
    m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray();
    settings.endGroup();
 
#if defined(Q_WS_MAC)
    connect(this, SIGNAL(lastWindowClosed()),
            this, SLOT(lastWindowClosed()));
#endif
 
    QTimer::singleShot(0, this, SLOT(postLaunch()));
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2009, 02:45
Ответы с готовыми решениями:

Объяснение механизмов Qt
Всем привет! Только начал работать с Qt, потому что нужно написать хорошую визуализацию моей большой вычислительной программы. Так как...

Напишите, пожалуйста объяснение к каждой строчке кода. Если можно, и объяснение некоторых функций
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; void random(int * a, int size) { while(size--) *a++ = rand() % 9 + 1; } ...

Объяснение кода
Здравствуйте! Пишу сюда с просьбой о помощи: объясните пожалуйста(желательно построчно) то,как работает код приведенный ниже. Пытался...

9
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
30.12.2009, 02:59
По всей видимости инициализация данных.. так как это конструктор..
0
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
30.12.2009, 03:25  [ТС]
то что это конструктор я понимаю, я не совсем понимаю манипуляции с сокетом, а по скольку я (на эту тему) уже дня 3 занимаюсь секасом - боюсь упустить важный момент

исходники класса прилагаю - если это на что нить повлияет

вообще это Qt демка browser
Вложения
Тип файла: zip browserapplication.h.zip (4.2 Кб, 40 просмотров)
0
 Аватар для Sekt
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
30.12.2009, 14:30
Демо браузера.Ловит соединение,инициализирует данные.Что вы конктетно хотите?
0
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
30.12.2009, 23:42  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
QString serverName = QCoreApplication::applicationName()
 socket.connectToServer(serverName);
    if (socket.waitForConnected(500)) {
        QTextStream stream(&socket);
        QStringList args = QCoreApplication::arguments();
        if (args.count() > 1)
            stream << args.last();
        else
            stream << QString();
        stream.flush();
        socket.waitForBytesWritten();
        return;
C++
1
QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl");
C++
1
2
3
settings.beginGroup(QLatin1String("sessions"));
    m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray();
    settings.endGroup();
это конкретно

Добавлено через 12 минут
======================================== =================================
ещё я могу добавить что это класс отображения программы самый высокий из "иерархии" классов

main()=> WebApp =>MainWindow=>TabView=>(WebWiew: public QWebWiew !)

я недоперепонимаю сто происходит в конструкторе этого класса по этому прошу помочь мне его разобрать!

Добавлено через 51 секунду
иерархия и запутанность в этих классах не сахар!
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
31.12.2009, 01:33
Цитата Сообщение от breate Посмотреть сообщение
иерархия и запутанность в этих классах не сахар!
это ваше недопонимание самого языка и Qt..
0
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
31.12.2009, 01:59  [ТС]
Цитата Сообщение от ISergey Посмотреть сообщение
это ваше недопонимание самого языка и Qt..
я ищу ответ на свой вопрос и помощи со стороны форумчан, а не байки про понимания С++ и библиотеки классов!

офтоп!

иерархия и запутанность в этих классах не сахар!
"этих" значит классов программы, в коде которой я пытаюсь разобраться

ISergey, я и сам прекрасно знаю что туп как пробка, но вместо того, что бы в очередной раз понизить мою самооценку, можно было просто дать ссылочку, где я восполнил бы пробелы своих знаний по С++ и технологии Къюти - выучить что то новое я всегда за, кстати вот ссылочка на еще один топик, принципе тема таже, я с удовольствием выслушаю любые подсказки, ссылочки в нете, ссылочки (косвенные) на книги, https://www.cyberforum.ru/cpp-... 80643.html
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
31.12.2009, 02:24

Не по теме:

.. Вы приводите пример из документации который уже разжёван до не могу. Или вы думаете что разработчики знают меньше нас?


Вот неплохой сайт с по Qt http://doc.crossplatform.ru/qt/4.3.5/index.html (Просто перевод на русский)
0
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
31.12.2009, 02:32  [ТС]
сайт я знаю но больше предпочитаю http://doc.trolltech.com/ и Qt Assistant

Цитата Сообщение от ISergey Посмотреть сообщение

Не по теме:

.. Вы приводите пример из документации который уже разжёван до не могу. Или вы думаете что разработчики знают меньше нас?

вот с этого момента по подробней, вы где то видели описание проекта?
0
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 2
15.01.2013, 11:28
Когда браузер обращается к серверу он передаёт туда информацию о себе, типа его версия, название. Это делается если сервер может разным браузерам давать разные страници с разными функциями. Например, один клиент с Windows компьютера, а другой с телефона или с планшета у которого усечены функции.

QCoreApplication::applicationName() = закладывается и вытаскивается имя и версия браузера

QCoreApplication::arguments() = Командная строка при запуске, видимо указывает какую страницу с какого домена хочет получить. (на одном хосте может быть много доменов и много серверов в одном и разных портах)
Клиент обращаясь к серверу сначала посылает команду "GET /index.html" что бы сервер дал ему какую-то страницу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2013, 11:28
Помогаю со студенческими работами здесь

Объяснение кода
Помогите объяснить вот этот кусок кода(Что сам смог - подписал,смог очень мало): procedure TfrmMain.BuildTree;//Построение дерева...

Объяснение кода
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void Fibonacci(int **p, int stolb, int size) { int...

Объяснение кода
program p161; var A, max1, max2, max3, i, W, C, F: integer; Q: array of char; B: char; begin i:=0; ...

Объяснение кода js
Недавно начал изучать html. Все понятно, но когда столкнулся с кодом на js, встал в ступор. Объясните мне, пожалуйста, следующий код. ...

Объяснение кода
Объясните,пожалуйста, как работает программа. #include&lt;stdio.h&gt; #include&lt;conio.h&gt; main() { int a=3,b=5,c=9; clrscr(); ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru