SN
April 10, 2019, 5:36 a.m.
Stanislav Nykytiuk

Как реализовать такое меню, что бы нажмаешь меню подменю и выбор позиции? Данные меню и подменю в базе SQL.

April 8, 2019, 8:29 a.m.
Mihailll

Добрый день.
Хочу получить виджет, выдающий содержание сайта.
В проект добавил

QT       += core gui webenginewidgets

а в mainwindow.h

#include <QtWebEngineWidgets>

Создал виджет и пытаюсь преобразовать его в QtWebEngineWidgets, но не выходит.
Скажите пожалуйста, как получить виджет, отоброжающий содержание сайтов?

April 4, 2019, 4:10 a.m.
Mihailll

Добрый день.
Создал клас-наследник от QObject
Но когда подключаю макрос Q_OBJECT, получаю ошибку : undefined reference to `vtable for DataWorking'
Скажите пожалуйста , почему так и как это исправить?

#ifndef DATAWORKING_H
#define DATAWORKING_H
#include <QObject>
#include <random.h>
#include <QDebug>

class DataWorking : public QObject
{
    Q_OBJECT
public:
    DataWorking();
    ~DataWorking();
    Q_INVOKABLE  int randomNumber;
    int winNumber;
    int progressNumber;
    int roundNumber;// число раундов

public slots:
    Q_INVOKABLE  void setRandomNamber(int first, int last);
};

#endif // DATAWORKING_H
m
March 29, 2019, 4:01 p.m.
monevich

Форумчане, столкнулся с проблемой открытия файла без участия пользователя. Принимаю файл с устройства по протоколу Tcp/Ip, ставится задача перевести принимаемый файл в автоматическом режиме в формат .csv(Excel). Проблема заключается в следующем, работа функции начинается после получения сигнала о получении файла, соответственно в теле функции произвожу проверку на существование самого файла в директории if(QFile::exists(asd)), проверка производится успешно, условие открытия файла так же всегда выполняется if(myFile.open(QIODevice::ReadWrite)), но в QByteArray не проивзодится запись, он пустой, соответственно и весь последующий алгоритм не работает. При этом, если я прохожу все этапы под отладчиком, с установкой точек останова, то ArrayB заполняется так как надо, т.е. он не пустой. Связываю данную проблему с тем, что выполнение функции просходит именно в момент создания файла, т.е. моё устройство успело только создать файл, а записать в него данные не успело, и происходит в этот момент запуск моей функции MainWindow::AutoExportCSVfile() .

void MainWindow::AutoExportCSVfile()
{ 
    QStringList listExcelExport;
    QString asd1;
    QByteArray arrayB;
    QString asd = LastDirectory +"/" + NewMeasurmentDLG.getFileName() ;    //LastDirectory = D:/Data , NewMeasurmentDLG.getFileName() = myNewFile.dat
    asd1 = asd;
    asd1.chop(3);
    asd1+="csv";
    qDebug()<<"File exists?"<<QFile::exists(asd);      //Debug = true , Run = true
    if(QFile::exists(asd))
    {
        QFile myFile(asd);
        qDebug()<<myFile.bytesAvailable();          //Debug = нужное количество байт , Run = 0
        if(myFile.open(QIODevice::ReadWrite))
        {
            qDebug()<<"File can read?"<<myFile.waitForReadyRead(3000);    //Debug = false , Run = false
            qDebug()<<"Open File? "<<myFile.isOpen();                     //Debug = true , Run = true
            arrayB=myFile.readAll();
            qDebug()<<"lenght arrayB?"<<arrayB.length();                  //Debug = нужная длинна , Run = 0
            myFile.close();
            listExcelExport= arrayB.split(QRegExp("[\r \n ;]+"), QString::SkipEmptyParts);
            QFile exportFile(asd1);
            if(exportFile.open(QIODevice::WriteOnly))                    //Debug = true , Run = true
            {
                QTextStream ts(&exportFile);

                qDebug()<<"Dlinna listExcelExport = "<<listExcelExport.length();               
                for(int c= 80; c<listExcelExport.length()-1;c+=2)
                {
                    strList<<listExcelExport[c] + ";" + listExcelExport[c+1] +";";
                }
                ts<<strList.join("\n");
                exportFile.close();
            }
            QString outS= "Файл " + asd1 + " успешно сохранён!";
            textStatusBar->setText(outS);                     //Вывод в строку состояния сообщения 

        }
    }
}

Пытался решить дануую проблему путём бесконечного цикла ожидания waitForReadyRead(-1), но цикл никогда не завершается, всегда условие false (При этом файл уже полностью получен)

for (;;)
    {
        if(myFile.waitForReadyRead(-1))
        {
            break;
        }
    }

Может кто сталкивался с подобным? Файл всегда имеет разную длинну, условие проверки по количеству байт тоже не сработает.

DT
March 28, 2019, 2:32 p.m.
Daniil Teterin

Возникла небольшая проблемка. Уверен, что это решается довольно легко, но, всё же, никак не могу найти решение.
Хочу нарисовать что-нибудь при помощи полигонов, а для этого я вручную вбиваю координаты треугольников в форму, а понравившиеся сохраняю в лист. Штука в том, что когда я меняю в форме координаты треугольника, перерисовывается старый, а не создаётся новый, это, на самом деле, мне только на руку, но мне нужно знать, как сделать так, чтобы создавался новый. Потому что сейчас я понятия не имею, каким образом мне нужно писать отрисовку по координатам с листа.

void MainWindow::drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3, QPainter *painter, QPolygon *poly)
{
    painter->setRenderHint(QPainter::Antialiasing, true);
    QPen pen(Qt::gray);
    painter->setPen(pen);
    *poly << QPoint(width() * x1 * 0.01, height() * y1 * 0.01);
    *poly << QPoint(width() * x2 * 0.01, height() * y2 * 0.01);
    *poly << QPoint(width() * x3 * 0.01, height() * y3 * 0.01);
}

void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    QPolygon poly;
    drawTriangle(ui->lineEdit_1->text().toInt(), ui->lineEdit_2->text().toInt(), ui->lineEdit_3->text().toInt(),
                 ui->lineEdit_4->text().toInt(), ui->lineEdit_5->text().toInt(), ui->lineEdit_6->text().toInt(), &painter, &poly);
    painter.drawPolygon(poly);
}

void MainWindow::on__go_button_clicked()
{
    this->update();
}

void MainWindow::on__save_button_clicked()
{
    int a[] = {ui->lineEdit_1->text().toInt(), ui->lineEdit_2->text().toInt(), ui->lineEdit_3->text().toInt(),
        ui->lineEdit_4->text().toInt(), ui->lineEdit_5->text().toInt(), ui->lineEdit_6->text().toInt()};
    for (int i = 5; i >= 0; i--)
        list << a[i];
    for (int i = 0; i < 6; i++)
    {
        ui->textEdit->setText(ui->textEdit->toPlainText() + QString::number(list.takeLast()) + "\n");
    }
}
March 28, 2019, 4:11 a.m.
Mihailll

Добрый день.

При добавление в проект QT += webenginewidgets и # include < QtWebEngineWidgets> получаю ошибку об отсуствующих модулях ( Unknown module(s) in QT: webenginewidgets).
Установленны следующие компоненты:

March 22, 2019, 11:34 a.m.

Qt

undocumented, Qt, QMake

Qt is quite a large framework and it constantly introduces functionality, which unfortunately either do not have time to document or forget to document.

For example, besides the QQuickItem documentation, I highly recommend watching the sources, or at least the header files. Wonder how many public methods are there that are not described in the documentation, but can be successfully applied, and are very useful in a word.

But now the talk will be about copying files using the functionality that was implemented in Qt 5.6, but at the same time almost nothing is known about it.

m
March 21, 2019, 3:23 p.m.
monevich

Доброго времени суток. Скажите, а существует механизм в Qt по ассоциации файлов со своей программой? И какие принципиальные моменты необходимо учитывать для запуска файла, если такой механизм всё же реализован в Qt. Заранее спасибо за ответы

ChG
March 15, 2019, 12:44 a.m.
Charl'z Grin

Добрый день, возник вопрос: можно ли как нибудь прочитать ppt, PPTX файл на Qt? Задача: просто открыть презентацию, ее слайды отрисовать на виджет, с сохранениями гифок и того что там будет. Может быть у PowerPoint какой-то API в наличии , который позволяет так сделать? Либо может быть через ActiveX как нибудь? Буду благодарен за помощь!

March 4, 2019, 4:08 a.m.

Qt

pro, QMake, Qt

Вступление

Qmake - это очень мощная система "meta-make", которую можно использовать для генерации make-файлов для различных компиляторов и платформ из одного и того же файла проекта qmake (.pro). Документация для qmake значительно улучшилась с Qt3, но все еще отсутствует некоторая информация. В этой статье все расскажем на примерах.

AD
July 19, 2019, 9:51 a.m.
Anastasia Dutchina

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
AD
July 19, 2019, 9:46 a.m.
Anastasia Dutchina

Qt - Test 001. Signals and slots

  • Result:57points,
  • Rating points-2
DZ
July 19, 2019, 5:01 a.m.
Damira Zholdasbay

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
Last comments
July 19, 2019, 3:29 p.m.
IscanderChe

Спасибо, уже разобрался по оригинальной статье на GitHub, всё заработало. Я просто хотел мягко намекнуть, что без этой информации ваша статья явно неполная.
July 19, 2019, 3:16 p.m.
Ruslan Polupan

Вот ссылка по работе с ключами и GitHub https://exlmoto.ru/git-and-qt-creator/#31 Сгенерируй новый ключ и добваь его на GitHub.
July 19, 2019, 3:03 p.m.
IscanderChe

В какой статье? Какой ключ? Как добавить? Ничего не понятно. :) Если из этой , то как понять, какой дефолтный у меня агент SSH.
July 19, 2019, 1:43 p.m.
Ruslan Polupan

Ключ не верный или не действительный. сформируй новый и добавь на GitHub В статье описапно как сделать.
July 19, 2019, 12:55 p.m.
IscanderChe

У меня ошибка случилась ещё до Qt Creator, я ж написал. На этапе загрузки проекта из командной строки на GitHub.
Now discuss on the forum
July 19, 2019, 10:55 a.m.
Mihailll

Да. Там похоже каждое устройство генерирует свой токен, этот токен нужно как то получать и использовать в запросе. Но как это делать я пока не понял.
July 19, 2019, 10:52 a.m.
Mihailll

Суть понятна, но не понятно где и как это использовать. Как я понимаю для начала нужно получить координату на поле и находящийся эллемент на этой координате в этой части кода void Mov...
July 19, 2019, 9:31 a.m.
Mihailll

Добрый день. Повернул ListView в горизонтальное положение. При прокрутке эллементы выстраиваются у левого края окна. Как в QMK в ListView сделать центрирование по центру? ...
b
July 18, 2019, 2:27 a.m.
bbb116

Когда отрисовки не видно, объекты AreaSelector создаются (при нажатии и движении мышкой), но почему то не срабатывает paint() у них, хотя делаю update этой области. Причем эти области мо...
July 17, 2019, 5:54 a.m.
Aleksej Vnukov

хочу не стандартный набор символов, а все ненужное убрать чтоб не мешало. для начала решил посмотреть как работает клава на родном примере, а он на телефоне не взлетел вот и начал разби...
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB