Просмотр сообщений
|
Страниц: 1 [2] 3
|
18
|
Qt / Вопросы новичков / GDB - тормозит. Может стоит вернуться на MSVC?
|
: Май 01, 2014, 00:05
|
Добрый день. У меня Windows 7x64, Qt 5.2.1, Qt Creator. Раньше использовал MSVC. Недавно понадобилось одно приложение, написанное под Винду, собрать под Андроид. А там компилятор MinGW. И решил я для приложений под Виндоус тоже использовать MinGW. Плюсы - лучшая поддержка C++11, из пригодившихся фишек строго типизированное перечисление (enum class), списки инициализации, приложения запускаются под WinXP (надо иногда, но можно обойтись). Но тут попробовал поотлаживаться, по шагам не удается пройти иногда, висит GDB.
Посоветуйте как быть? Может я не умею настраивать GDB? Может нужно брать самую последнюю версию, а не ту, что поставляется с Qt? Или возвращаться на MSVC? Может собрать Qt последним компилятором MSVC 2013?
|
|
|
22
|
Qt / Qt-инструментарий / Re: Кодировка консоли сборки
|
: Январь 23, 2014, 16:16
|
Я кодировку меняю в реестре: ищу строчки OEMCP и 866 меняю на 1251. Обычно 2 совпадения. Я что-то делаю неправильно? Народ тут пишет патчи ...
Да, у меня Windows 7 и msvс2012.
Update. Забыл еще один пункт. Если его не сделать, в консоли (та которая cmd.exe) будут кракозябы. В редакторе реестра идем в раздел HKEY_CURRENT_USER -> Console. Создаем там новый строковый параметр с именем "FaceName". Присваиваем ему значение "Lucida Console". Параметр "FontFamily" меняем на 0x36.
|
|
|
23
|
Qt / Вопросы новичков / Как проверить не баг ли это в Qt?
|
: Январь 23, 2014, 15:53
|
Нашел странное поведение библиотеки, в модуле QML. Есть ли какая-то площадка, сообщество, где проверяются такие запросы на баги? Или сразу писать в баг трекер?
Вот сейчас у меня такая проблема. Приложил минимальный файл. Претензии к ComboBox. Кликаю ЛКМ на ComboBox и не отпуская веду чуть в сторону (всё в пределах Combobox) - список появляется. Отпускаю ЛКМ - список пропадает. Если нажимаю и отпускаю ЛКМ в одной точке - выпадающий список остается. В QtCreator есть выпадающий список - точно такое-же поведение.
Открыл NetBeans. Там поведение как ожидается мной - кликнул и повел, список остался.
У меня Qt 5.2, Windows 7.
|
|
|
24
|
Qt / Qt Quick / Насколько легко использовать в QML скрипты из Веба?
|
: Январь 20, 2014, 11:13
|
Добрый день! Может коряво тему назвал, но хочу вот чего. Хочу себе в QML приложении для десктопа красивые графики, вот как здесь http://dygraphs.com/gallery/#g/highlighted-seriesСмотрю в код страницы: HTML <script src="../dygraph-dev.js"></script> <script src="lib/jquery-1.4.2.js"></script> <script src="../common/textarea.js"></script> <script src="gallery.js"></script> <script src="data.js"></script> <script src="interaction-api.js"></script> <!-- script src='http://www.google.com/jsapi'></script> --> <!-- gallery entries. Can these be auto-loaded? --> <script src="annotations.js"></script> <script src="drawing.js"></script> <script src="dynamic-update.js"></script> <script src="highlighted-series.js"></script> <script src="highlighted-region.js"></script> <script src="highlighted-weekends.js"></script> <script src="independent-series.js"></script> <script src="plotter.js"></script> <script src="link-interaction.js"></script> <script src="per-series.js"></script> <script src="synchronize.js"></script> <script src="range-selector.js"></script> <script src="resize.js"></script> <script src="stock.js"></script> <script src="styled-chart-labels.js"></script> <script src="temperature-sf-ny.js"></script> <script src="interaction.js"></script> <script src="linear-regression.js"></script> <script src="edge-padding.js"></script>
Можно ли это все подключить и получить в приложении тот самый красивый график? Что сделать то надо? И стоит ли заморачиваться? Взял бы Qt Charts, но не нашел, где они валяются в свободном доступе. Пока только начал c QML и Javascript. С Qt/C++ опыт имею.
|
|
|
26
|
Qt / Многопоточное программирование, процессы / QException, проброс исключения из рабочего треда в главный.
|
: Декабрь 16, 2013, 00:56
|
Доброй ночи! Пишу многопоточную программу с исключениями. Рабочие потоки бросают исключения. Судя по документации, класс QException обеспечивает передачу исключений между потоками. У меня не получается этого достичь - в основном потоке исключения не ловятся. C++ (Qt) int main(int argc, char *argv[]) { QApplication a(argc, argv); try { MainWindow w; w.show(); Worker worker; QObject::connect(&worker, &Worker::showInt, &w, &MainWindow::showInt, Qt::QueuedConnection); QThread thread; worker.moveToThread(&thread); thread.start(); return a.exec(); } catch (Exception & e) { QMessageBox::warning(0, "", ""); } }
Объект worker раз в секунду посылает сигнал, по которому в главном окне увеличивается счетчик. Через 5 секунд worker бросает исключение. Exception - наследник QException. C++ (Qt) Worker::Worker(QObject *parent) : QObject(parent) { m_timer.setSingleShot(false); m_timer.setInterval(1000); connect(&m_timer, &QTimer::timeout, this, &Worker::update); m_timer.start(); m_counter = 0; } void Worker::update() { if (m_counter > 4) { throw Exception("some message"); } m_counter++; emit showInt(m_counter); }
Возникает окно "R6010 - abort() has been called". Что я делаю не так? Как правильно пользоваться QException для передачи между потоками? Смотрел в qexception.cpp, ничего не понял. Как оно работает? Прикладываю минимальный проект.
|
|
|
27
|
Программирование / Общий / Как сериализовать объект в текстовой файл, чтобы неизвестные поля игнорировались
|
: Октябрь 31, 2013, 13:25
|
Добрый день! У меня есть массив указателей на базовый класс некоторых объектов. C++ (Qt) class Base { public: char a0; int b0; std::vector<long> c0; }; class Derived1 : public Base { public: char a1; int b1; std::vector<long> c1; }; class Derived2 : public Base { char a2; int b2; std::vector<long> c2; }; std::vector<Base *> a;
Нужно сохранить состояние вектора а в некотором текстовом файле, потом восстановить. Иначе говоря, есть некие настройки в программе, их нужно сохранять. Я реализовал это с помощью Boost.Serialization и все работало. Но программа сейчас в процессе тестирования на объекте. Программист меняет классы Derived (добавляет/убирает переменные), соответственно файл настроек, созданный в предыдущей версии программы не открывается в последующей. Пользователей очень напрягает перезаводить кучу настроек. Подскажите, пожалуйста, способ сериализации объектов в некий формат текстового файла, чтобы отсутствующие/новые поля обнулялись. Пишу на Qt.
|
|
|
|
|