I
14 мая 2019 г. 10:23
Ilz

Всем привет хочу сделать поиск текста по буквам но не знаю как на основной модели у меня располагаются 6 кнопок к каждой кнопке привязана база sqlite с разными списками слов так же располагается объект textBrowser в котором выводится текст из базы sqlite хочу сделать что бы после вывода текста можно было ввести первую букву слова в lineEdit и мне показывало список словк в textBrowser у которых такая же буква в начале

P.S Вот пример как я хочу сделать только там используется QListWidget а у меня QSqlDatabase

10 мая 2019 г. 22:07
Илюха Вебер

Здравствуйте Я новичок в программировании и решил написать программку под экономку с выводами цены и названия товаров но столкнулся с такой проблемой у меня есть два объекта Объект № (1) textBrowser в нем выводится ряд слов и цифр из БД sqlite Объект № (2) lineEdit в этом объекте я хочу сделать поиск этих цифр и букв Тоесть выводится текст из БД в textBrowser затем я ввожу в lineEdit первую букву или цифру из списка в textBrowser и менее показывает список этих слов или цифр Пример как я хочу сделать на скриншоте

Пример как я хочу сделать

Пример как я хочу сделать

8 мая 2019 г. 12:23
Михаиллл

Добрый день. Как в Qt скомпилировать приложение под iOS?

VS
7 мая 2019 г. 5:46
Vladimir Sergeevich

У меня на гугл плей лежит несколько приложений, собранных с Qt. Пару месяцев назад получил я от гугла следующее письмо:

 Hello Google Play Developer,

In our latest blog post, we detailed the requirement that apps using native code must provide a 64-bit version in addition to the 32-bit version by August 1, 2019. As you may know, 64-bit CPUs deliver faster, richer experiences, and we appreciate your support in ensuring our users have the best experience possible on the Android platform.

Action required

If you haven't yet, we encourage you to begin work for the 64-bit requirement as soon as possible. Many apps are written entirely in non-native code (e.g. the Java programming language or Kotlin) and will not need code changes.

Please note that we are not making changes to our policy on 32-bit support. Google Play will continue to deliver apps with 32-bit native code to 32-bit devices. The requirement means that those apps will need to have a 64-bit version as well.

To help you make the transition, we've prepared documentation on how to check whether your app already supports 64-bit and how to become 64-bit compliant.

We're also providing a high-level timeline below.

Starting August 1, 2019:

    All new apps and app updates are required to provide 64-bit versions of any 32-bit native code they provide.
    Extension: Google Play will continue to accept 32-bit only updates to existing games that use Unity 5.6 or older until August 2021. 

Starting August 1, 2021:

    Google Play will stop serving apps without 64-bit versions on 64-bit capable devices, meaning they will no longer be available in the Play Store on those devices.
    This will include games built with Unity 5.6 or older.

The requirement does not apply to:

    APKs or app bundles explicitly targeting Wear OS or Android TV, which are form factors that do not currently support 64-bit code.
    APKs or app bundles that Google Play won't install on Android 9 Pie or later (support for 64-bit does not need to extend to APKs that are only on Android 8 Oreo and below).

If you have any questions, you can find additional information about adding 64-bit support here. 

Ну, думал я, обновлю версию Qt, пересоберу приложение и все тут... Сейчас пишу новое приложение. Использую Qt5.12.0. Выкладываю в гугл плей и получаю сообщение:

Внимание!

Этот выпуск не соответствует требованиям Google Play к 64-разрядным приложениям

Следующие файлы APK или наборы App Bundle доступны для 64-разрядных устройств, но содержат только 32-разрядный нативный код: 3.

С 1 августа 2019 г. все выпуски должны соответствовать требованиям Google Play к 64-разрядному коду.

Включите в приложение 64-разрядный и 32-разрядный нативный код. Используйте формат публикации "Набор Android App Bundle", чтобы каждое устройство скачивало только соответствующий его архитектуре нативный код. Это поможет уменьшить общий размер приложения. Подробнее…

Соответственно, кто с этим сталкивался и как решил проблему?

М
30 апреля 2019 г. 9:03
Миша

Добрый день. Есть несколько страничек с графическим интерфейсом, одна из них begin.ui. На этой страничке есть лэйбел label1. В конструктор основного класса я добавил инклуд "begin.ui". Скажите пожалуйста как изменить label1, как задать ему рисунок? Если вызывать begin_form, то у него нет label1.

М
26 апреля 2019 г. 9:46
Миша

Добрый день. Как в Qt из QWebEngineView получить html? Попробовал сделать так, но дебаг возвращает "" и программа вылетает

void MainWindow::on_testButton_clicked()
{
    QString htmlString = "";
    ui->webEngineView->page()->toHtml([&htmlString](const QString& data){htmlString = data; } );
    qDebug()<<htmlString;
}
SN
10 апреля 2019 г. 9:36
Stanislav Nykytiuk

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

8 апреля 2019 г. 12:29
Михаиллл

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

QT       += core gui webenginewidgets

а в mainwindow.h

#include <QtWebEngineWidgets>

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

4 апреля 2019 г. 8:10
Михаиллл

Добрый день. Создал клас-наследник от 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
29 марта 2019 г. 20:01
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;
        }
    }

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

m
19 мая 2019 г. 1:49
mahhaki

Qt - Тест 001. Сигналы и слоты

  • Результат:78баллов,
  • Очки рейтинга2
S
17 мая 2019 г. 13:14
SunBro

Qt - Тест 001. Сигналы и слоты

  • Результат:42баллов,
  • Очки рейтинга-8
b
17 мая 2019 г. 4:18
banana

C++ - Тест 003. Условия и циклы

  • Результат:57баллов,
  • Очки рейтинга-2
Последние комментарии
P.
18 мая 2019 г. 14:03
PELMYACH .

Спасибо большое! Вскоре буду разбираться!
18 мая 2019 г. 9:13
Евгений Легоцкой

Добрый день! Отнимать значение общего счётчика можно в деструкторе класса кнопки QDynamicButton::~QDynamicButton(){ ResID--;} При этом я бы ещё переустанавливал значения вс...
P.
14 мая 2019 г. 22:33
PELMYACH .

Здравствуйте!А не подскажите, как можно при удалении какой либо кнопки, у щётчика отнять значение?Дабы например четвёртой кнопке соответствовал ID 4, а не 5 скажем
6 мая 2019 г. 6:39
Евгений Легоцкой

Добрый день. Этот урок для Qt Quick Control версии 1, Вы используете вторую версию. Здесь style уже нет, кастомизацию можно делать уже или черещ соответствующие property или через ...
U
4 мая 2019 г. 3:14
Unreal_man

Делаю вроде правильно, а ничего не получается. Что упустил? После button1. в выпадающем списке нет style.Да, и откуда в уроке взялся файл .pri и зачем он нужен?
Сейчас обсуждают на форуме
19 мая 2019 г. 12:45
Михаиллл

Скачал openssl-1.1.1 от сюда , но не понимаю что делать с этой папкой
19 мая 2019 г. 10:52
Евгений Легоцкой

Если честно, то мне нужно самому время потратить, чтобы глянуть это дело. Я использовал Flutter для разработки, а не Qt. Просто исходя из опыта, могу сказать, что по большей части всё на эмуля...
16 мая 2019 г. 23:08
BlinCT

Решил через indexOf сделать. Возвращает или номер позиции где нашел символ или строку или -1 если не найдено.
15 мая 2019 г. 15:06
Михаиллл

Спасибо , заработало.Получаю ответный сигнал.Но теоретически, в ответ на запрос должен прийти json файл. Скажите пожалуйста, как можно открыть ответные данные, прочитать их, и потом удалить...
14 мая 2019 г. 11:07
Евгений Легоцкой

Из той задачи, которую вы привели, у вас есть база данных и таблица в ней с текстами. Для представления данных из базы данных обычно используют QTableView, а text browser здесь не к мест...

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB