crossplatform.ru

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


Сейчас на сайте человек: 132
(пользователей: 0, гостей: 132)
Yandex.com, Yahoo.com, Google.com

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

Октябрь 2017

  ПВСЧПСВ
»
1
»
2
3
5
6
7
8
»
9
10
11
12
13
14
15
»
16
18
19
20
21
22
»
23
24
26
27
»
31

> Последние обсуждения
Pacan228 @ 18.10.2017, 11:57
Просмотров: 57   Комментариев: 1
 
> Запарсить данные приложения написанным на Qt
Автор Pacan228 — 18.10.2017, 11:57 — 1 комментариев
Всем привет. Подскажите пожалуйста, есть приложение, написанное, как оказалось, на Qt, которое генерирует некоторое кол-во данных, в виде таблиц,списков и т.д, и нужно мне вытянуть эти данные.
Сначала думал через WinApi повытягивать данные, но как оказалось, даже у главного окна нет потомков и я без понятия как общаться с "внутренними блоками" .
Подскажите пожалуйста, это вообще возможно то, что я хочу? И если да, каким образом, что было все более мне оптимально?
Просмотров: 57, последний комментарий от Алексей1153   

> QProcess и разворачивание свёрнутого окна процесса
Автор Анна — 17.10.2017, 13:39 — 1 комментариев
Задача в следующем:
1.При нажатии на кнопку, запустить стороннее приложение (редактор).
2.Если приложение уже запущено, развернуть его окно.

С первым пунктом никаких проблем. Использую QProcess.
Но как развернуть окно уже запущенного приложения, не знаю.

Дело происходит в Windows 7.

Я так поняла, мне надо выполнить какую-то консольную команду винды, имея на руках только Q_ID запущенного мной процесса.
Просмотров: 43, последний комментарий от Алексей1153   

> Взаимодействие с уже запущеным процессом.
Автор MishaUA — 11.10.2017, 10:58 — 0 комментариев
Написал консольное приложение, которое крутится на линукс-сервере, запускается при старте системы. Теперь нужно каким-то образом сделать взаимодействие с ним через консоль. Если бы было не в автозапуске, то можно сделать через стандартный ввод/вывод.
С моих соображений, надо сделать ещё одно приложение, которое будет взаимодействовать с основным через сокеты или QProcess, но может есть какие-то стандартные линуксовые методы, чтобы не создавать ещё одно приложение?

Спасибо!
Просмотров: 39, оставить комментарий   

> Вывести в combobox значения 2-х столбцов
Автор iCast — 7.10.2017, 13:37 — 0 комментариев
Есть столбцы таблицы: id | name | age

Посоветуйте, как правильно выводить текст в combobox, чтобы был такой формат: name - age. например, вася - 18

Пробовал вот так:
Раскрывающийся текст
//получаем нашу модель
QUserModel *modelUser = static_cast<QUserModel *>(_model->relationModel(_model->fieldIndex("somekey")));
ui->combobox->setModel(modelUser);
ui->combobox->setModelColumn(modelUser->fieldIndex("name"));

// реализация класса

class QUserModel : public QSqlTableModel {
public:
    explicit QUserModel (QObject* parent=nullptr):QSqlTableModel(parent){}
    ~QUserModel (){}
protected:
    QVariant data(const QModelIndex &index, int role) const
    {
        qDebug() << role;
        if(role == Qt::DisplayRole && index.column() == fieldIndex("name") ){
            QVariant age = QSqlTableModel::data(index.sibling(index.row(),fieldIndex("age")), role);
            QVariant name = QSqlTableModel::data(index, role);
            qDebug() << name << age;
            QSqlTableModel::data(index, role);
        }
        return QSqlTableModel::data(index, role);
    }
};

В дебаге пусто...

Пробовал вот так еще:

Раскрывающийся текст
class QUserFilter : public QSortFilterProxyModel
{
public:
    explicit QUserFilter (QObject* parent=nullptr):QSortFilterProxyModel(parent){}
    ~QUserFilter (){}
protected:
    bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const{
        QModelIndex indexName = sourceModel()->index(source_row, 1, source_parent);
        QModelIndex indexAge = sourceModel()->index(source_row, 2, source_parent);
        QVariant name = sourceModel()->data(indexName,Qt::EditRole);
        QVariant age= sourceModel()->data(indexAge ,Qt::EditRole);
        if(name.isValid() && age.isValid()){
            QString result = name.toString() + " - " + age.toString();
        sourceModel()->setData(indexName,QVariant(result));
    }
     return true;
};

Буду благодарен в помощи)
Просмотров: 49, оставить комментарий   

> Высоко приоритетный поток, как сделать?
Автор MishaUA — 30.9.2017, 20:11 — 21 комментариев
Недавно создавал тему, в которой писал о подключении матричного индикатора.
Суть в том, что отрисовка должна происходить очень быстро, я ещё сделал в отдельном потоке (QThread в run), задержка там только одна на 50мкс, т.е., процесс потребляет довольно много процессорного времени, а конкретно - ~86% (проц 4 ядерный), это при QApplication, а с QCoreApplication было почему-то 100%, хоть в теории, QApplication потребляет больше ресурсов.
Отрисовка изначально происходит нормально, но периодически (раз в пару мин) экран начинает мерцать, при этом нагрузка на том ядре падает примерно до 40% и через 2-5 сек мерцать перестает и до >80% нагружается совершенно другое ядро. Походу, процесс каким-то образом перепрыгнул на другое ядро.
процесс запускаю как QThread::HighestPriority, а саму прогу с опцией nice --20 (хоть реально большой приоритет нужен не всей программе, а только одному процессу).
Так же, мерцать всегда начинает когда захожу по ssh и логинюсь.

Можно ли как-то сделать этот процесс со "сверхвысоким" приоритетом?
Спасибо!
Просмотров: 577, последний комментарий от Алексей1153   

> закрытие opengl-программы
Автор KuvshinoF — 21.9.2017, 22:20 — 1 комментариев
ИНОГДА при закрытии программы (qApp->exit(0)) с использованием opengl программа вроде как закрывается, но ее процесс все еще существует (смотрю через ps -x)... если отказаться от использования наследования от QGLWidget и убрать весь openglб то все нормально закрывается (10 из 10)...в чем тут может быть дело и как это поправить? кстати сама графика криво отображается (ничего не разобрать)
Просмотров: 96, последний комментарий от Алексей1153   

> "Видеобуффер" для вывода изображения на матричный индикатор
Автор MishaUA — 21.9.2017, 12:07 — 3 комментариев
Сейчас стоит задача вывести изображение на RGB индикатор (3 бита, 7 цветов) разрешением примерно 640*310. Чтобы не городить это на микроконтроллере, я решил сделать на OrangePi Zero и теперь ПО могу написать на Qt.
Вывод видеобуфера на матрицу я уже сделал, осталось сделать установку изображения в сам буфер. Выводить надо просто текст, на микроконтроллере я бы просто сделал запись необходимого шрифта в видеобуффер попиксельно, но в данном случае хотелось бы применить какие-то более серьезные методы.
Собственно, вопрос в том, как бы мне это организовать? Может сделать GUI приложение и каким-то образом выводить его содержимое на экран? Или можно организовать видеобуффер другими стандартными методами?
Спасибо!
Просмотров: 140, последний комментарий от MishaUA   

> QSqlQuery в скрипте
Автор JohnZ — 11.9.2017, 12:14 — 0 комментариев
Всем здравия !

Помогите решить проблему с приведением типа объекта в скрипте !
Есть класс SqlQuery видимый в скрипте под своим именем.

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

class SqlQuery : public QObject, public QSqlQuery
{
Q_OBJECT
public:
SqlQuery(QObject *parent = 0, QSqlDatabase db = QSqlDatabase() );
~SqlQuery();

Q_INVOKABLE bool exec();
Q_INVOKABLE bool exec(const QString & query);
Q_INVOKABLE void bindValue(const QString & placeholder, const QVariant & val, QSql::ParamType paramType = QSql::In);
Q_INVOKABLE void bindValue(int pos, const QVariant & val, QSql::ParamType paramType = QSql::In);
Q_INVOKABLE bool first();
Q_INVOKABLE bool last();
Q_INVOKABLE bool next();
Q_INVOKABLE bool previous();
Q_INVOKABLE bool isValid();
Q_INVOKABLE bool prepare(const QString & query);
Q_INVOKABLE bool seek(int index, bool relative = false);
Q_INVOKABLE int size();
Q_INVOKABLE QVariant value(int index) const;
Q_INVOKABLE QVariant value(const QString & field) const;
Q_INVOKABLE void clear();

signals:
// void beforeNext();
// void afterNext();
};

Q_SCRIPT_DECLARE_QMETAOBJECT(SqlQuery, QObject *)

void setupSqlQuery(QScriptEngine *engine);



И есть класс формы, внутри которого потомок QSqlQueryModel.

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

class fpQForma : public QDialog
{
...

public:

Q_INVOKABLE QSqlQuery Query() { return model->query(); } // <-- нужен скриптовый SqlQuery !!!



Проблема в том, чтобы привести QSqlQuery к скриптовому SqlQuery, чтобы скрипт его понялЪ.
Нужно при-BIND-ить значение ...
Заранее благодарен за помощь.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Просмотров: 84, оставить комментарий   

RSS Текстовая версия Сейчас: 20.10.2017, 20:57