Запуск приложения с Qt 6.7 на Android ограничил функциональные возможности QList.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Запуск приложения с Qt 6.7 на Android ограничил функциональные возможности QList.

Сообщение Anonymous »

Я создаю приложение, которое будет искать устройства Bluetooth, а затем подключаться к одному из моих датчиков и отображать данные датчика. У меня есть основной виджет, а поиск устройств происходит во втором виджете. Сначала я создал свое приложение с помощью MSVC2019, и на моем компьютере (Windows 11) оно может все (у меня версия Qt6.7).
Теперь я попытался запустить его на своем Android устройство (с Clang Arm64-v8a), но некоторые функции не работают так, как в настольном приложении. Я также пробовал настроить список в MainWidget, но у меня те же проблемы. Основной из них – QList:

[*]Когда я нажимаю на кнопку, ничего не происходит, должно происходить очистка списка и добавление нового элемента.
Я просто не могу выбрать ни один элемент.
[*]В моей раскладке все смещается влево после открытия виджета

Я получаю следующее предупреждение:

(:-1: предупреждение: Внимание: обработка SDK. Эта версия понимает только SDK XML версии до 3, но обнаружен XML-файл SDK версии 4. Это может произойти, если вы используете версии Android Studio и инструменты командной строки, выпущенные в разное время.)

Код: Выделить всё

scanwindow.h
:

Код: Выделить всё

#ifndef SCANWINDOW_H
#define SCANWINDOW_H

#include 
#include 
#include 
#include 
#include 

namespace Ui {
class ScanWindow;
}

class ScanWindow : public QMainWindow
{
Q_OBJECT

public:
explicit ScanWindow(QWidget *parent = nullptr);
~ScanWindow();

private slots:
void on_startScanButton_clicked();
void deviceDiscovered(const QBluetoothDeviceInfo &device);
void on_deviceList_itemClicked(QListWidgetItem *item);
void on_connectButton_clicked();

void on_clearButton_clicked();

signals:
void characteristicValueChanged(const QString &value);
void deviceSelected(const QBluetoothDeviceInfo &device);

private:
Ui::ScanWindow *ui;
QBluetoothDeviceDiscoveryAgent *discoveryAgent;
QBluetoothDeviceInfo selectedDevice;
QList services;
};

#endif
scanwindow.cpp:

Код: Выделить всё

#include "scanwindow.h"
#include "ui_scanwindow.h"
#include 
#include 
#include 

ScanWindow::ScanWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::ScanWindow)
, discoveryAgent(new QBluetoothDeviceDiscoveryAgent(this))
{
ui->setupUi(this);

ui->connectButton->setDisabled(true);

connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, this, &ScanWindow::deviceDiscovered);
}

ScanWindow::~ScanWindow()
{

qDeleteAll(services);
services.clear();

delete ui;

}

void ScanWindow::on_startScanButton_clicked()
{
ui->deviceList->clear();

#if QT_CONFIG(permissions)
QBluetoothPermission permission;
permission.setCommunicationModes(QBluetoothPermission::Access);

switch (qApp->checkPermission((permission))) {
case Qt::PermissionStatus::Undetermined:
qDebug() requestPermission(permission, this,  &ScanWindow::on_startScanButton_clicked);
break;
case Qt::PermissionStatus::Denied:
qDebug() start(QBluetoothDeviceDiscoveryAgent::LowEnergyMethod);
}

void ScanWindow::deviceDiscovered(const QBluetoothDeviceInfo &device){

if (device.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration) {
qDebug() deviceList);
item->setData(Qt::UserRole,QVariant::fromValue(device));
}

}

void ScanWindow::on_deviceList_itemClicked(QListWidgetItem *item) {
QBluetoothDeviceInfo device = item->data(Qt::UserRole).value();

selectedDevice = device;

ui->connectButton->setEnabled(true);

qDebug() deviceList2->repaint();
ui->deviceList2->updateGeometry();
ui->deviceList2->update();
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}
Я пробовал перерисовывать виджет, обрабатывать события и обновлять. Ничего из этого не работает.


Подробнее здесь: https://stackoverflow.com/questions/789 ... -for-qlist
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • C++ QT Копирование объектов QList в другой QList
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Почему использование снимка приложения Java плохо, если мы используем функциональные возможности, которые нуждаются в ун
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Запуск приложения с Qt6.7 в Android снижает функциональность QList
    Anonymous » » в форуме Android
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»