Russian Qt Forum
Май 16, 2024, 18:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2] 3 4 ... 9
16  Qt / Работа с сетью / Re: QTcpSocket::readAll() SIGSEGV : Сентябрь 02, 2015, 14:04
В потоке, в котором создаете сокет, делаете все connect() и слоты там же пусть отрабатывают. Абсолютно всю работу с сокетом выносите в тот поток, где он был создан.
17  Программирование / С/C++ / Re: Вопрос по запуску программы QT на другом компьютере : Август 29, 2015, 20:14
Да, Вам нужна папка plugins/imageformats из директории, куда установили Qt. Положить ее рядом с исполняемым файлом. Аналогичное происходит с драйверами БД, если Вы будете работать в будущем с базами данных. В 4ой версии не скажу, но в Qt5 можно натравить на свой екзешник утилиту qtwindeploy.exe и она скопирует в папку с екзешником все нужные файлы для его запуска. находится она рядом с qmake.exe в папке установки Qt/bin.
18  Qt / 2D и 3D графика / QPainter, drawText() в Qt5.5.0 : Август 25, 2015, 19:32
Добрый день
Если коротко: следущий код на Qt5.5.0 MinGW 32 (Windows 7)
Код:
   QBitmap bitmap(800, 400);
   QPainter painter(&bitmap);
   painter.setRenderHint(QPainter::TextAntialiasing, true);
   painter.setRenderHint(QPainter::Antialiasing, true);
   painter.setPen(Qt::white);
   for (int i = 0; i < 800; ++i) {
       for (int j = 0; j < 400; ++j) {
           painter.drawPoint(QPoint(i, j));
       }
   }
   painter.setPen(QPen(Qt::black));
   QFont font("Arial", 46);
   font.setBold(true);
   font.setItalic(true);
   painter.setFont(font);
   painter.drawText(QRect(100, 100, 400, 200),
                    Qt::AlignRight | Qt::AlignBottom, "The Text 34 Arial");
   bitmap.save("D:\\test.bmp", "BMP");
Выдает то, что на прикрепленной картинке.
Если выставить размер 48 и более, текст рисуется нормально.
Что можно сделать с этим и у всех ли подобное поведение наблюдается, ибо нужно отрисовать 34ым шрифтом?
п.с. На Qt4.8.6 работало нормально, на Qt5.2.1 тоже и по-моему на Qt5.4.0 рисовало как надо.
19  Qt / Пользовательский интерфейс (GUI) / Re: Затык на линковке - undefined reference to vtable. Наследник QAbstractTableModel : Август 08, 2015, 19:13
Загрузил Ваши исходники, собрал без ошибок.
Возможно, просто сделать Очистку, запустить qmake и Пересобрать.
20  Qt / Установка, сборка, отладка, тестирование / Qt5.5.0 статическая сборка VS2013 : Август 04, 2015, 14:42
Здравствуйте.
Понадобилось собрать статически Qt5.5 (Win7x64).
Делал по инструкции http://doc.qt.io/qt-5/windows-building.html
Последовательность действий:
1. Загрузил исходники, распаковал в D:\Qt\Qt5.5.0VS2013static, установил Python, Ruby, Perl, все они доступны в PATH.
2. Создал файл qt5vars.cmd
Код:
REM Set up \Microsoft Visual Studio 2013, where <arch> is \c amd64, \c x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
SET _ROOT=D:\Qt\Qt5.5.0VS2013static
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET QMAKESPEC=win32-msvc2013
Создал для него ярлык
- рабочей папкой указал
Код:
D:\Qt\Qt5.5.0VS2013static
- объект
Код:
%SystemRoot%\system32\cmd.exe /E:ON /V:ON /k D:\Qt\Qt5.5.0VS2013static\qt5vars.cmd
3. Запустил ярлык с предыдущего пункта.
4. Выполнил
Код:
configure -opensource -release -static -debug-and-release -nomake examples 
-openssl -I C:\OpenSSL-Win32\include -L C:\OpenSSL-Win32\lib -opengl dynamic
-platform win32-msvc2013 -make libs  -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -no-harfbuzz
Пути к SSL существуют.
5. Запустил jom.exe.
6. Прошло какое-то время, компиляция закончилась, сообщений об ошибках не увидел.
7. Установил Qt Add-In (указал там путь D:\Qt\Qt5.5.0VS2013static\qtbase).
8. При попытке компиляции простого проекта (стандартное если создавать с помощью Add-In) получаю много ошибок unresolved reference. Все не напишу, а вот первая была вроде такого
Код:
unresolved reference to void QRegularExpressionPrivate:: ....
Все ошибки не приведу ибо уже удалил результаты сборки  Улыбающийся
Пробовал уже раз 5 это дело.
Уже и прописывал в D:\Qt\Qt5.5.0VS2013static\qtbase\mkspecs\win32-msvc2013\qmake.conf
Код:
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
Не помогло.
Может кто собирал недавно статически и знает, что я забыл/не сделал.
п.с. читал тему товарища 8Observer8, но там MinGW.
21  Qt / Вопросы новичков / Re: qDebug в Qt5.5 выводит символы \n : Август 03, 2015, 07:42
Код
Код:
qDebug() << QString("test\r\n");
qDebug() << "test\r\n";
выводит  Улыбающийся
Код:
Запускается ...
"test\r\n"
test

... завершился с кодом 0
22  Qt / Вопросы новичков / Re: qDebug в Qt5.5 выводит символы \n : Август 01, 2015, 07:52
Только что попробовал. Qt5.5.0 VS2013 32bit:
Такой код
Код:
qDebug() << QString("test\n");
qDebug() << "test\n";
дает вывод:
Код:
Запускается ....
"test\n"
test

... завершился с кодом 0
Может мне снилось, но что-то читал об этом, нововведение что ли, с utf8 связано, но точную формулировку не знаю. Улыбающийся
23  Qt / Работа с сетью / Re: QSslSocket: Разрешить на сервере только своих клиентов : Июль 27, 2015, 08:09
С авторизацией по сертификату предложили Вам - добротное решение, проверенное временем и т.д. (в этом случае следует иметь в виду, что сертификаты имеют свойство истекать и их придется заменять на новые, также можно генерировать один клиентский на всех, а можно один сертификат на каждого клиента)
Все зависит от уровня безопасности.
С любым из вариантов нужны доп телодвижения, будь то авторизация по логину/паролю/токену/сертификату.
Если очень элементарный нужен всего-навсего, можете клиентом при подключении присылать на сервер "магическую комбинацию байт" (хоть фразу "Привет, ребята, я свой"). Кто не пришлет - disconnectFromHost().
А так для сервера все сокеты на одно лицо, они ведь сокеты  Улыбающийся
24  Qt / Установка, сборка, отладка, тестирование / Re: [РЕШЕНО] Библиотеки Qt5.5 в Ubuntu14.04 : Июль 17, 2015, 10:01
А как сделали?
Взял и "слизал" по примеру QtCreator.
В папку с исполняемым файлом поместил qt.conf с таким содержанием:
Код:
[Paths]
Libraries=lib
И создал такой скрипт для запуска (vcontroller - название исполняемого файла):
Код:
#!/bin/sh

me=`which "$0"`

bindir=`dirname "$me"`
libdir=`cd lib ; pwd`
LD_LIBRARY_PATH=$libdir:$libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
exec "$bindir/vcontroller"
Возможно и без переменной bindir можно было обойтись ибо исполняемый файл лежит рядом со скриптом, а в случае QtCreator - в папке bin.
Плюс рядом с исполняемым файлом находится папка lib, куда скопировал библиотеки (и символьные ссылки).
У меня Qt5.5 установлен по адресу /home/programmer/Qt/Qt5.5.0, поэтому список библиотек для копирования вывел так:
Код:
ldd vcontroller | grep "home"
У меня использовались только core, serialport, websockets и network, список вышел таким:
- libQt5WebSockets.so.5;
- libQt5WebSockets.so.5.5.0
- libQt5Network.so.5
- libQt5Network.so.5.5.0
- libQt5SerialPort.so.5;
- libQt5SerialPort.so.5.5.0
- libQt5Core.so.5;
- libQt5Core.so.5.5.0
- libicui18n.so.54;
- libicui18n.so.54.1;
- libicuuc.so.54;
- libicuuc.so.54.1;
- libicudata.so.54.
- libicudata.so.54.1;
И судя по всему qt.conf не нужен ибо у меня была там ошибка (../lib было) и все равно запускалось.
А на целевую машину уже планирую deb-пакетом устанавливать все это добро.

п.с. Если у кого есть замечания/дополнения, с удовольствием выслушаю.
Магию вот этого выражения не понял ибо не эксперт в bash:
Код:
${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
25  Qt / Установка, сборка, отладка, тестирование / Re: Библиотеки Qt5.5 в Ubuntu14.04 : Июль 16, 2015, 12:14
По совету обитателей этого форума, правда в другой теме, посмотрел как происходит запуск QtCreator, сделал аналогично.
Работает. Спасибо  Улыбающийся
26  Qt / Установка, сборка, отладка, тестирование / Re: Библиотеки Qt5.5 в Ubuntu14.04 : Июль 10, 2015, 20:17
на целевую машину установить такой же дистрибутив (.run) Qt 5.5 и по такому же пути, как на машине где разрабатывается.
Как один из вариантов. Хочется, конечно, не тащить всего "монстра" в виде дистрибутива, а только qmake + библиотеки. Поэтому попробую, как посоветовали, deb-пакет, а на крайний случай, если не выгорит, уже целый дистрибутив установлю.
27  Qt / Установка, сборка, отладка, тестирование / [РЕШЕНО] Библиотеки Qt5.5 в Ubuntu14.04 : Июль 06, 2015, 09:07
Добрый день.
OS: Ubuntu 14.04.
Как было раньше: установил на свой ПК Qt с официального сайта, написал код, загрузил исходники на целевую машину, установил библиотеки типа qtbase5-dev, а также qmake, выполнил qmake, make, make install.
С чем столкнулся: в репозитории библиотеки от Qt5.2.1, в проекте необходимо использовать QWebSocket, который с версии 5.3. То есть, если загрузить сейчас с сайта Qt5.5 на свой ПК, можно разрабатывать, тестировать. А если попробовать собрать вышеописанным методом проект на целевой машине, то скорее всего будет сообщение что модуль websockets не существует (ибо в версии 5.2.1 его нет).
Поэтому возникает следующий вопрос: загружать исходники и собирать Qt5.5 статически или есть иные варианты развития событий?
28  Qt / Вопросы новичков / Re: приложение глючит на ноуте : Июнь 30, 2015, 20:19
Если отладчик говорит, что переменные 0, значит так и есть, а значит каким-то образом не выполнился тот код, который у Вас "в конструкторе", хотя конечно мы же с Вами понимаем, что такого не может быть  Улыбающийся
В итоге - попахивает мистикой.
Возможно, нужно больше кода на обозрение.
29  Qt / Многопоточное программирование, процессы / Re: Организовать межпроцессный обмен данными : Июнь 18, 2015, 06:17
Что такое в Вашем понимании "искажения"? Левые данные, потеря данных, кракозябры? Вы под какой ОС запускаете? Может проблема с кодировкой? Попробуйте вывести то что отправили и то что получили как байт, например, toHex(), и сравните. Если байтики совпадают, значит все верно передает и где-то там что-то там с кодировкой. Хотя может вы уже пробовали это  Улыбающийся
30  Qt / Базы данных / Re: [Qt5.4]QMYSQL driver not loaded : Май 10, 2015, 10:15
Точно не скажу, они уже года три лежат у меня в папке отдельной.
Но, скорее всего, после установки MySql Server их можно найти в папке C:\Program Files\MySql Server 5.5 (версия может быть другой). Там и папка lib, и папка include.
Страниц: 1 [2] 3 4 ... 9

Страница сгенерирована за 0.123 секунд. Запросов: 23.