Спасибо за способ, выглядит симпатично. Хотя, костыльно.
Насчет скрина - Dropbox не отдаёт прямой линк на изображение. Воспользуйтесь чем-нибудь вроде Imgur'а
@shatov Я смотрю у вас очень весёлый подход к обучению. Между прочим, книга создателя C++ - Бьерна Страуструпа - "Язык программирования C++" имеет приблизительно ~1500 страниц. И даже прочитав её вы можете постигнуть лишь малую часть языка C++, ведь есть еще различные фреймворки и библиотеки, такие как Qt или Boost.
С таким подходом вам только действовать по инструкции, изложенной на изображении выше. Если вы боитесь чтения толстых книг - C++ это далеко не ваш выбор.
@websofter Потому что Qt - это фреймворк, разделенный на большое количество библиотек. Вы уже используете такие библиотеки, как libQt5Widgetsd.dll, libQt5Guid.dll и libQt5Cored.dll. Теперь к ним присоединилась libQt5Xmld.dll. Если бы такого разделения не было - ваше приложение весило бы ~100 Mb. Директива препроцессора:
#include
Вовсе не "подключает библиотеку", как любят говорить некомпетентные университетские преподаватели. Эта директива лишь включает файл "QtXml/QDomDocument" в ваш файл "mainwindow.cpp". После чего вы можете использовать функции из библиотеки, но на этапе линковки они не будут найдены. Библиотеку вы должны подключить самостоятельно.
@savostin да, это наиболее простой и в то же время быстрый способ. Каждой опции (Action) можно присвоить идентификатор (id) с помощью метода setData(). Ну а насчет кучи - вы сами смешали термины Web'а, которые вообще не используются в C++/Qt. Понять, что вы хотите получить в конечном итоге - трудно.
@savostin в переменной типа QString. Задать соответствие можно внутри цикла, приблизительно таким образом. Кстати, по гайдам Qt, файлы перевода должны быть названы как имя_приложения_язык.ts, к примеру MyApp_ru.ts. Выделяя часть ru и сравнивая ее с текущей локалью приложения можно определить какой язык нужно отмечать выбранным в меню. А разобраться, какой язык следует загружать при запуске приложения поможет следующий метод. Интернационализация приложения достаточно хорошо описана в книге "Бланшет, Саммерфилд - Qt4 Программирование GUI на С++. 2ed. - 2008", в разделе "Динамическое переключение языков". Если у вас будут какие-то вопросы по коду по ссылкам выше - обязательно спрашивайте, поясню. Если что, контакты в профиле.
@Z37 второй шаг избыточен. Зачем устанавливать в систему две одинаковых библиотеки (одну из исходников, другую из репозиториев)? Правильнее - выполнить первый и третий шаг, добавив в файл .pro строки, определяющие пути к header'ам openssl, например:
@ManWithBear Вы несомненно правы! Я думал об этом когда писал функцию determine_max_elem(), но совсем запамятовал, как там пишется quick sort, а писать сортировку пузырьком мне не хотелось. Оставим оптимизацию автору вопроса в качестве домашнего задания :)
@xandox будь благоразумен и соблюдай хотя бы правила русского языка и имей уважение к оппоненту. Я с одинаковой периодичностью пользуюсь как vim'ом, обвешанным различными плагинами (для быстрого редактирования кода), так и emacs'ом (для быстрой автоматизации рутинной работы с текстом за счёт макросов Emacs Lisp'а). Это замечательные текстовые редакторы, но использовать их в качестве IDE - я считаю извращением. И уж тем более vim советовать олимпиаднику, у которого предыдущий текстовый редактор был Sublime text 3 и в требованиях есть пункт "Красивый дизайн".
@Kimaen ну тогда не "использовать Qt", а "использовать Qt Creator". Qt и Qt Creator совсем разные вещи. Первое характеризует именно библиотеку виджетов для разработки, а Qt Creator - IDE для разработки приложений (не обязательно Qt-приложений).
Насчет сборки, не всегда, но это так. Если с MinGW 4.4 можно было мигрировать на MinGW 4.6.2 без перекомпиляции, то с MinGW 4.6.2 на MinGW 4.8.2 - перекомпиляция необходима. Так что вижу два выхода:
Либо пересобрать библиотеку Ogre3D под MinGW, который идет в поставке с Qt, либо просто установить еще один MinGW, которым были собраны ваши библиотеки Ogre3D (MinGW нужно добавить его в Qt Creator в виде нового тулкита и пользоваться).
Насчет скрина - Dropbox не отдаёт прямой линк на изображение. Воспользуйтесь чем-нибудь вроде Imgur'а