crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


Сейчас на сайте человек: 97
(пользователей: 1, гостей: 96)
Crawler.de, Yahoo.com, Google.com, Yandex.com, mlia8p3c

Перейти к месяцу

Июнь 2017

  ПВСЧПСВ
»
1
3
4
»
5
6
7
8
11
»
12
13
14
16
»
19
22
23
24
25
»
27
28
29

> Последние обсуждения
AD @ 27.6.2017, 10:34
Просмотров: 54   Комментариев: 4
 
> Лето
Автор AD — 27.6.2017, 10:34 — 4 комментариев
У меня дочке уже 4 с небольшим года. Если ее спросить, что такое лето. То можно неудивляться, если она ответит, что лето, это когда ходишь в куртке, шапке, сапогах (резиновых), играешь в лужах, бегаешь за шапкой, которую сорвало порывами ветерка.
В Петербурге уже второй год нет как-такого лета (если не третий, уже не помню). Что случилось с погодой? Может быть, все-таки кто-то подскажет, когда в наших северных краях будет ТЕПЛО? Хотя бы один месяц в году?
Просмотров: 54, последний комментарий от Влад   

> Динамический вызов ф-ции в QT Script
Автор JohnZ — 25.6.2017, 13:22 — 1 комментариев
Всем Здравия !

Задаю вопрос повторно, по совету админа, т.к. предыдущий ответ утерян ...

Проблема в следующем, - есть в скрипте функции CalcVO1(), CalcVO2(), CalcVO3(), ...
Как можно вызвать эти ф-ции по имени в переменной ?

В и-нете нашёл аналогичный вопрос (и ответ !), ...

http://www.sql.ru/forum/879788/js-vyzov-fu...ni-v-peremennoy

но ответ был дан для web-а, и в QT Script он почему-то не работает :unsure:

На скрине окно отладчика QT Script с демонстрацией проблемы на вызове тестовой ф-ции ...

В принципе половинчатое решение есть, с пом-ю С++

Раскрывающийся текст

void MainWindow::callFunc(QString ffName, int fnum)
{
QString fName = QString("%0%1").arg(ffName).arg(fnum);
if (engine->globalObject().property(fName).isValid())
engine->globalObject().property(fName).call();
}

... но тогда придётся _параметры_ вызова делать глобальными в скрипте, что некузяво :(

Заранее благодарен за помощь.
Прикрепленные файлы
Прикрепленный файл  _________________2017_06_25_13_09_35.png ( 105.25 килобайт ) Кол-во скачиваний: 5
 
Просмотров: 52, последний комментарий от lanz   

> Вопрос к Админу
Автор JohnZ — 24.6.2017, 15:28 — 1 комментариев
Заранее прошу прощения если не в том разделе задаю вопрос. Потом можно будет его удалить или перенести.

Дело в том, что я задавал вопрос в разделе QT-Script ( вроде-бы :unsure: ) о динамическом создании и вызове ф-ции (по имени) в скрипте.
Решение подсказал LANZ но оно пропало. Было это около месяца тому назад или более месяца ...
Перерыл все разделы - нет темы ... или я её не вижу !? Может можно её как-ниить достать из архива ?
Заранее благдарю за помощь !
Просмотров: 67, последний комментарий от ViGOur   

> Тюменское бизнес ноу-хау
Автор Litkevich Yuriy — 19.6.2017, 16:24 — 3 комментариев
Просмотров: 115, последний комментарий от Алексей1153   

> Задачка по С++
Автор ViGOur — 19.6.2017, 11:07 — 7 комментариев
Есть классы:
Исходный код классов
#include <sstream>
#include <iostream>
#include <string>
#include <vector>

class CClassMessage
{
protected:
    std::vector<std::string> m_properties;

public:
    enum eProperties
    {
        PRPT_END
    };
};

class CMsg0: public CClassMessage
{
public:
    enum eProperties
    {
        PRPT_Prefix = 0,
        PRPT_Name,
        PRPT_END
    };
};

class CMsg1: public CClassMessage
{
public:
    enum eProperties
    {
        PRPT_Prefix = 0,
        PRPT_State,
        PRPT_Protocol,
        PRPT_END
    };
};
Сделайте так, что функция работала правильно:
bool parseLine( std::vector<std::string> line)
    {
        if( line.size() >= m_properties.size() )
        {
            for( int n = 0; n < PRPT_END; ++n )
            {
                m_properties[n] = line[n];
            }
            return true;
        }
        return false;
    }
Просмотров: 182, последний комментарий от lanz   

> [РЕШЕНО]QSerialPort сигнал errorOccurred
Автор larry — 17.6.2017, 10:08 — 2 комментариев
Добрый день, Форумчане.
Возник вопрос по поводу сигнала errorOccurred. Никак не получается его перехватить - интересует ошибка ParityError.
Есть устройство которое шлет 9 бит (знаю, что эта тема уже подымалась и 9 бит это нехорошо, но поставлен перед фактом Смеющийся) и с помощью MarkParity и SpaceParity я отсылаю нужный мне 9ый бит на устройство и все хорошо, но чтобы принять 9ый бит нужно обрабатывать эту ошибку, но этот сигнал никак не испускается и неважно что я задаю в setParity - Mark или Space.
Подскажите пожалуйста...Спасибо.

m_serial_port->setPortName(ui->cboxComPortList->currentText());
m_serial_port->setBaudRate(ui->cboxBaudrate->currentText().toInt());

if(!m_serial_port->open(QSerialPort::ReadOnly | QSerialPort::WriteOnly))
{
       QMessageBox::critical(this, tr("Error"), tr("Can't open serial port"));

       return;
}

m_serial_port->setDataBits(QSerialPort::Data8);
m_serial_port->setStopBits(QSerialPort::OneStop);
m_serial_port->setFlowControl(QSerialPort::NoFlowControl);
m_serial_port->setParity(QSerialPort::MarkParity);

connect(m_serial_port, SIGNAL(errorOccurred(QSerialPort::SerialPortError)), this, SLOT(error(QSerialPort::SerialPortError)));


Слот error(QSerialPort::SerialPortError) просто выводит номер ошибки, но в него не попадает...
Просмотров: 89, последний комментарий от larry   

> Сборка под андроид
Автор Vilgeforc — 11.6.2017, 5:35 — 4 комментариев
Доброе утро!

Любое андроид приложение начинает падать при запуске, если добавить файл манифеста.
добавлял как тут https://evileg.com/ru/post/193/

Сначала ругается на
W/System.err(24578): java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable


потом падает на
W/dalvikvm(24578): threadid=1: thread exiting with uncaught exception (group=0x41be8c98)
W/dalvikvm(24578): threadid=1: uncaught exception occurred
W/System.err(24578): java.lang.UnsatisfiedLinkError: Couldn't load test from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.qtproject.test-2.apk"],nativeLibraryDirectories=[/data/app-lib/org.qtproject.test-2, /vendor/lib, /system/lib]]]: findLibrary returned null
W/System.err(24578):     at java.lang.Runtime.loadLibrary(Runtime.java:365)


Причем, если закомментировать строку
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
в .pro файле, то приложение нормально запускается и работает. В чем может быть дело?
использую Qt 5.8. Это воспроизводится и со стандартными примерами, например collidingmice.
Просмотров: 109, последний комментарий от Iron Bug   

> Не отображается текст
Автор Nornagest — 8.6.2017, 11:55 — 2 комментариев
После статической линковки приложения получил бинарь. Перенёс его на другой комп с таким же Linux. При запуске приложения не отображется текст в виджетах и не размещаются рисунки на сцене. В чём может быть проблема?
Просмотров: 66, последний комментарий от Nornagest   

> b2 and static link boost
Автор alexy — 7.6.2017, 21:02 — 5 комментариев
начал изучать b2, мне понравился, реншил сделать на нем небольшую библиотеку. сейчас напиасл несколько функций в ней, пока использую только header only библиотеки из буста, потом понадобятся и другие, не header only.

сейчас мой jamroot.jam выглядит так
project psignals
  : requirements <include>src
;

lib psignals
  : [ glob src/*.cpp ]
  : <threading>multi <use>/boost
;
в ~/user-config.jam указывается где лежит только что распакованный boost1.64

у меня несколько вопросов:
1. при компиляции говторит # error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK что выглядит логично. он и правда определяет оба дефайна. как так?
2. зачем-то начинают компилится бустовые потоки (также если не указывать, что <threading>multi). это в принцыпе не мешает, но хотелось быт понять почему.
3. я правильно понял, что достаточно указать в списке исходников библиотеку буста, например /boost//filesystem/<link>static , и получить вкомпилинную в мой so библиотеку filesystem.a собранную со флагом -fPIC ?
Просмотров: 160, последний комментарий от Iron Bug   

> Можно ли сделать, что бы в Qt Creator можно было кирилические названия?
Автор Гость_Viktor_* — 6.6.2017, 21:15 — 6 комментариев
Есть ли в Qt Creator галочка, или можно ли чуток подправить в исходниках, что бы он воспринимал и компилил названия с кирилическими буквами?
Просмотров: 185, последний комментарий от Viktor   

> CMake и библиотеки в библиотеке
Автор ViGOur — 5.6.2017, 11:51 — 1 комментариев
Есть проект, с такой архитектурой:
- Device
--- Settings(library)
--- Connection (library)
--- Modules (library)

В проекте Settings используется дополнительная библиотека libSettings.
В проекте Connection используется дополнительная библиотека libConnection.
В проекте Modules используется дополнительная библиотека libModules.

Проекты Settings, Connection и Modules, собираются без ошибок, но проект Device собирается с ошибками вроде:
/usr/bin/ld: cannot find -lSettings
/usr/bin/ld: cannot find -lConnection
/usr/bin/ld: cannot find -lModules

И как только я добавлю в CMakelists.txt строчку:
link_directories( ${CMAKE_SOURCE_DIR}/Settings/lib/ )
и пути к другим либам все начинает работать.

Вопрос, как и с какими ключами собирать проекты Settings, Connection и Modules, чтобы не запрашивались пути к либам, которые они используют. По идее проекту Device и незачем об этом знать!
Просмотров: 175, последний комментарий от Iron Bug   

> Изменение значения возвращаемого из функции
Автор Гость_Quester_* — 2.6.2017, 20:37 — 4 комментариев
Добрый вечер, ребята! Объясните пожалуйста, как такое работает:

...
std::string getStr(){
   reutrn "hello";
}

int main(){

   getStr() = "World!";
...


Из функции "getStr()" вернется временная переменная, скажите пожалуйста, разве можно изменять значение временной переменной? И насколько это корректно??

Спасибо!!!
Просмотров: 134, последний комментарий от lanz   

> renderText внутри списка
Автор KuvshinoF — 31.5.2017, 22:21 — 2 комментариев
 flag_1 = true;
flag_2 = true;

::paintGL()
{

func_1();
func_2();
….

flag_1 = false;
flag_2 = false;
}
//----------------------------------------------------------------------------

func_1():
{
  if (flag_1)
  {
    if (glIsList(1))
     glDeleteLists(1, 1);
    glNewList(1, GL_COMPILE_AND_EXECUTE);
    glPushAttrib(GL_CURRENT_BIT);
    
    renderText(100, 150, 0, "myText");
    
    glPopAttrib();
    glEndList();
  }
  else
    glCallList(1);
}
//----------------------------------------------------------------------------

func_2():
{
  if (flag_2)
  {
    if (glIsList(2))
     glDeleteLists(2, 1);
    glNewList(2, GL_COMPILE_AND_EXECUTE);
    glPushAttrib(GL_CURRENT_BIT);
    
    renderText(300, 250, 0, trUtf8("#") + QString::number(iValue));
    
    glPopAttrib();
    glEndList();
  }
  else
    glCallList(2);
}
//----------------------------------------------------------------------------

ButtonOnClick:
{
   iValue = 55;
   flag_2 = true;

   updateGL();
}

После онклика кнопки результатом func_2 будет вывод строки "55", а не "#55"... почему так происходит (то есть теряется часть (???) строки (символ "#"))? Если закомментировать renderText в func_1(), то func_2 сработает правильно ("#55")...Также будет верный ответ, если в обоих функциях отказаться от дисплейных списков, но этого не хотелось бы делать
Просмотров: 84, последний комментарий от KuvshinoF   

> QNetworkAccessManager. Обмен данными через свой сокет.
Автор MishaUA — 24.5.2017, 15:02 — 2 комментариев
Обычно при запросах через QNetworkAccessManager, он устанавливает соединение с сервером, передает ему данные и получает ответ, для этого он использует какой-то свой сокет. У меня задача немножко не стандартная.
Мне надо сделать так, чтобы программа с QNetworkAccessManager работала в качестве сервера, к ней подключался клиент (который является веб-сервером), далее создавался QTcpSocket и далее обмен данными происходил уже через него.
Сам сервер, с которого надо будет запрашивать файлы, является неким устройством, которое можно настраивать по сети. Но из-за NAT к нему нельзя подключиться, поэтому надо сделать так, чтобы оно подключалось к программе (на пк, где она стоит, есть белый IP).
Собственно, вопрос состоит в том, как "подсунуть" QNetworkAccessManager'у свой QTcpSocket, ну или просто свои методы чтения/записи по сети.
Если с этим ничего не получится, то придется работать вообще без QNetworkAccessManager, на голом QTcpSocket, но не хотелось бы тратить время)))
На стороне устройств-сервера это легко реализуется, там вопросов нет.
Просмотров: 108, последний комментарий от MishaUA   

> Как использовать public метод класса, экземляр, которого передан по ссылке в функцию другого класса, экземпляр, которого создается в QPluginLoader
Автор reeshkov — 23.5.2017, 11:44 — 0 комментариев
Пишу приложение, которое поддерживает плагины. В самом приложениии используется экземпляр некоего класса (MyQObject).

Надо чтоб любой плагин имел доступ к публичным методам этого класса. Проблема в том что в рантайме при попытке вызвать метод экземпляра этого класса приводит к ошибке "... symbol lookup error ... undefined symbol: _ZN9MyQObject9testCalllEv".

NB: В метод плагина, передается ссылка на экземпляр класса и вызывается метод (приводит к ошибке). Причем значение свойства экземпляра класса получает без проблем.

Код демонстрирующий ошибку (Qt4) можно взять тут: https://github.com/reeshkov/qt_tests/tree/master/test_plugin

PS; Этот же вопрос задал на переплоненном стэке:
Просмотров: 70, оставить комментарий   

RSS Текстовая версия Сейчас: 29.6.2017, 1:42