DE
June 4, 2019, 3:48 p.m.
Denis Erokhin

Приложение для работы с БД.
Для отображения части информации используется ScrollView{ListView{}}. В качастве делегата используется DelegateModel.

        DelegateModel{
            id: visualModel
            model: elemModel
            groups: [ DelegateModelGroup{ name: "selected" } ]

            function itemsInSelected(){
                filterOnGroup = "selected";
                var cnt = count;
                filterOnGroup = "items";
                return cnt;
            }

           delegate:
                Rectangle {
                id: listItem
                width: listViewId.width
                height: 50

                color: (listItem.DelegateModel.inSelected) ?
                           "#575757" : "#d3d3d3";
                Text {
                    id: nameText
                    font.pixelSize: 18
                    text: "<b>" + NAME_c + "</b>"
                    color: (listItem.DelegateModel.inSelected) ?
                               "white" : "black"
                }

                Text {
                    anchors.left: nameText.left
                    anchors.right: parent.right
                    anchors.top: nameText.bottom
                    text: "<i>" +
                          dbHelper.getElementType(ELEMENT_TYPE_ID_c) +
                          "</i>"
                    color: (listItem.DelegateModel.inSelected) ?
                               "white" : "black"
                }
                MouseArea{
                    anchors.fill: parent
                    onClicked:{
                        if (mouse.button === Qt.LeftButton){
                            if (mouse.modifiers & Qt.ControlModifier){
                                listItem.DelegateModel.inSelected =
                                        !listItem.DelegateModel.inSelected;

                            }else{
                                //I am ashamed for that :(
                                visualModel.items.removeGroups(0,
                                                               visualModel.items.count,
                                                               ["selected"]);
                                listItem.DelegateModel.inSelected = true;
                            }

                            xTextInput.text = X_c;
                            yTextInput.text = Y_c;
                            zTextInput.text = Z_c;
                            listViewId.curentElemId = ID_c;

                        }
                    }
                }

            }

        }
        ScrollView{
            anchors.left: searchPanel.left
            anchors.right: searchPanel.right
            anchors.top: searchPanel.bottom
            anchors.topMargin: searchPanel.height * 0.1
            anchors.bottom: elemBtnsPanel.top
            anchors.bottomMargin: elemBtnsPanel.height * 0.1

            ListView {
                id: listViewId
                visible: true
                focus: true
                currentIndex: -1
                clip: true;
                cacheBuffer: 100000

                snapMode: ListView.SnapToItem

                model: visualModel
                enabled: {return !isEditable}

                anchors.fill: parent

                property int curentElemId: 0;
            }
        }

В качестве модели выступает наследник от QSqlQueryModel.

Проблема, в том, что при выборе элеметна на ListView список пролистывается в конец.

RR
June 4, 2019, 12:14 p.m.
Rem Ren

Мне нужно чтобы созданные объекты сами по себе удалялись со сцены, по таймеру. То есть без взаимодействия с ними. Как это можно реализовать? Есть код для удаления с взаимодействием (приложен), а вот как сделать чтобы без - ничего не могу придумать.

void Widget::slotDeletePeel(QGraphicsItem *item)
{
    foreach (QGraphicsItem *peel, peels)
    {
        if(peel==item)
        {
            scene->removeItem(peel);
            peels.removeOne(peel);
            delete peel;
            ui->lcdNumber->display(count--);
        }
    }
}
June 3, 2019, 9:08 a.m.
Ruslan Polupan

Доброго времени суток.
Пиши небольшие утилиты для работы с базами Firebird (QIBASE).
Всвязи с большим разнообразием версий серверов (2.5, 3.0.Х) а так же их битностью (32-bit, 64-bit) возникают проблемы с переносимостью.
В каком направлении уделить внимание для решения этой проблемы?
Статическая сборка, либо динамическа сборка с самым совместимым вариантом, или есть еще каието способы?.

Спасибо.

May 27, 2019, 12:57 a.m.

Qt

Переносимость приложений, переносимость qt, Qt, Run Linux Application, QML, windows, deployment, cqtdeployer, Развертывание, deploy, linux

Introduction

In this article we will look at how to properly collect all qt dependencies for your application, which was collected dynamically.

I
May 14, 2019, 6:23 a.m.
Ilz

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

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

May 10, 2019, 6:07 p.m.
Iljuha Veber

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

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

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

May 8, 2019, 8:23 a.m.
Mihailll

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

VS
May 7, 2019, 1:46 a.m.
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", чтобы каждое устройство скачивало только соответствующий его архитектуре нативный код. Это поможет уменьшить общий размер приложения. Подробнее…

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

M
April 30, 2019, 5:03 a.m.
Misha

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

M
April 26, 2019, 5:46 a.m.
Misha

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

void MainWindow::on_testButton_clicked()
{
    QString htmlString = "";
    ui->webEngineView->page()->toHtml([&htmlString](const QString& data){htmlString = data; } );
    qDebug()<<htmlString;
}
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