LINUX.ORG.RU

Сообщения boganet9993

 

Не импортируется файл qml

Расположение файлов

project \

resources \

  qml.qrc

src \

  gui \

     qml \

        main.qml

        TabsDelegate.qml

В qml.qrc

<RCC> <qresource prefix="/"> <file>../src/gui/qml/main.qml</file> <file>../src/gui/qml/TabsDelegate.qml</file> </qresource> </RCC>

В TabsDelegate

Item { ListModel { id: tabModel ... } Component { id: tabDelegate ... } }

В main.qml

import "TabsDelegate.qml" либо import "qrc:/src/gui/qml/TabsDelegate.qml"

В итоге:

qrc:/src/gui/qml/main.qml:7 "qrc:/src/gui/qml/TabsDelegate.qml": no such directory

В чем причина, как исправить?

 , ,

boganet9993
()

Чудит SQLite в Qt (Полное игнорирование NOT NULL, ON DELETE SET DEFAULT и т.д.)

Ребята, столкнулся с непонятной для меня проблемой.

Смотрите, таблица создается так:

CREATE TABLE tbl_transaction (
    id              INTEGER  PRIMARY KEY AUTOINCREMENT
                             UNIQUE
                             NOT NULL,
    name            STRING   NOT NULL,
    description     STRING,
    datetime        DATETIME NOT NULL,
    amount          DECIMAL  DEFAULT (0),
    id_cash_account INTEGER  REFERENCES tbl_cash_accounts (id) ON DELETE SET DEFAULT
                                                               ON UPDATE CASCADE
                             NOT NULL 
                             DEFAULT (1),
    id_category     INTEGER  REFERENCES tbl_category (id) ON DELETE SET DEFAULT
                                                          ON UPDATE CASCADE
                             NOT NULL
                             DEFAULT (1) 
);

То есть, при удалении строки и таблицы id_cash_account - в таблице tbl_transaction в столбце «id_cash_account» появится значение 1 вместо того, что было. Например, допустим таблица tbl_transaction содержит строку:

id = '1'
name = 'test'
description = ''
datetime = '21.07.12 03:08:12'
amount = '3'
id_cash_account = '33'
id_category = '66'

Тогда, если в таблице tbl_cash_accounts мы удаляем строку с id = 33

DELETE FROM tbl_cash_accounts
      WHERE id = '33';

то запись в таблице tbl_transaction должна превратиться в:

id = '1'
name = 'test'
description = ''
datetime = '21.07.12 03:08:12'
amount = '3'
id_cash_account = '1'
id_category = '66'

Так и происходит, если я в СУБД напишу такой запрос, но если я напишу такой запрос и выполню его в Qt - query->exec(textQuery);, то запись в таблице tbl_cash_accounts конечно удалится, а вот значение в tbl_transaction останется прежним - 33.

И проблема не только в этом, к примеру, запросы из Qt так же игнорируют NOT NULL столбцы (то есть из самой субд я пустое значение вставить не могу в таблицу, а если этот же запрос выполнить через QSqlQuery, то оно выполнит вставку без ошибок и отобразит значение в субд)

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

То есть, опять же, как вы видите, в таблице tbl_transaction целых пять столбцов NOT NULL

И если средствами Qt (query->exec) выполнить этот запрос:

INSERT INTO tbl_transaction (id, name, description, datetime, amount, id_cash_account, id_category) VALUES ('0','','','','0','0','0');

ОНО ЕГО ВЫПОЛНИТ! И в СУБД отобразит строку:

id = '0'
name = ''
description = ''
datetime = ''
amount = '0'
id_cash_account = '0'
id_category = '0'

Это уже не говоря о том, как оно на место связей умудрилось нули впихнуть! Мне это просто выносит мозг

 , ,

boganet9993
()

git fork vs branch

Короче, задали такой вопрос сегодня - какая разница между форками, ветками и клонами?

Я ответил так:

Fork - это копия репозитория, которая при этом находится удаленно

clone - это копия репозитория, которая находится локально

Ветка- способ внесения изменений в репозиторий

И вот назрел вопрос, правильно ли я вообще ответил, ибо начал гуглить эту тему и в разных источниках - разная инфа. Где-то говорится, что это чуть ли не одно и то же. Помогите расставить все точки на и)

 

boganet9993
()

Не получается собрать ПОДПИСАННУЮ релизную версию под Андроид

В общем, собираю таким образом:

  1. Подключаю свое андроид устройство
  2. Разворачиваю приложение

Если разворачиваю debug версию - все ок. Разворачивается и работает на смартфоне. Если разворачиваю релизную версию не подписанную, то все так же хорошо. Но стоит попытаться развернуть приложение с галочкой «подписывание пакета» - выдает ошибку сборки

Error: A JNI error has occurred, please check your installation and try again Exception in thread «main» java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) apksigner command failed. – Run with –verbose for more information.[

Процесс «/android_armv7/bin/androiddeployqt» завершился с кодом 15. Ошибка при сборке/развёртывании проекта (комплект: Android для armeabi-v7a (Clang Qt 5.13.2 for Android ARMv7)) Во время выполнения этапа «Сборка Android APK»

Подскажите, в чем проблема. Во всех гайдах достаточно ввести нужную информацию и пакет подписан, а здесь проблемы какие-то)

 , ,

boganet9993
()

Как увеличить размер диска

Установил убунту второй системой (вместе с виндой). При установке Ubuntu выделил ей память всего в 35gb. Мне ее катастрофически не хватает. Подскажите пожалуйста как выделить убкнте больше памяти и при этом ничего не сломать к херам? Буду благодарен за помощь!

 ,

boganet9993
()

Qt sqlite error Parameter count mismatch

textQuery выглядит так:

INSERT INTO tbl_picture (id_picture, name_picture, data_picture) VALUES (‘1’, ‘test picture’, :imageData);

bindName = «:imageData»

bindValue = picture.data

[CODE]QSqlQuery *Output;

mutexDataBase->lock();

Output = new QSqlQuery(currentDatabase);

Output->prepare(textQuery);

Output->bindValue(bindName, 

bindValue);

if (currentDatabase.isOpen()) { 

 Output->exec(textQuery);

}

mutexDataBase->unlock();[\CODE]

При запросе выбивает ошибку Parameter count mismatch

Подскажите в чем проблема, пожалуйста

 ,

boganet9993
()

QSqlDatabase: QMYSQL driver not loaded

Уже очень давно борюсь с этой проблемой, но так и немогу ее решить. libmysqlclient-dev, libqt5sql5-mysql стоит

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

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

ОС - linux ubuntu. Просмотрел кучу гайдов и советов в интернете, все мимо

ldd Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/libqsqlite.so

linux-vdso.so.1 (0x00007fff849c0000)

libQt5Sql.so.5 => /home/pc/Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/../../lib/libQt5Sql.so.5 (0x00007fb26f103000)

libQt5Core.so.5 => /home/pc/Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/../../lib/libQt5Core.so.5 (0x00007fb26e9a9000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb26e970000)

libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb26e782000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb26e633000)

libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb26e619000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb26e426000)

libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb26e40a000)

libicui18n.so.56 => /home/pc/Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/../../lib/libicui18n.so.56 (0x00007fb26df71000)

libicuuc.so.56 => /home/pc/Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/../../lib/libicuuc.so.56 (0x00007fb26dbb9000)

libicudata.so.56 => /home/pc/Qt5.11.2/5.11.2/gcc_64/plugins/sqldrivers/../../lib/libicudata.so.56 (0x00007fb26c1d6000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb26c1d0000)

libgthread-2.0.so.0 => /lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fb26c1c9000)

libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fb26c0a1000)

/lib64/ld-linux-x86-64.so.2 (0x00007fb26f652000)

libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fb26c02d000)

 ,

boganet9993
()

Не могу установить пакет libssl1.0-dev

Переустановил на другой комп ubuntu. В Qt при работе с сетью выкидывает кучу ошибок.

qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks

qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback

qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings

qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup

qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init

qt.network.ssl: QSslSocket: cannot resolve sk_new_null

qt.network.ssl: QSslSocket: cannot resolve sk_push

qt.network.ssl: QSslSocket: cannot resolve sk_free

qt.network.ssl: QSslSocket: cannot resolve sk_num

qt.network.ssl: QSslSocket: cannot resolve sk_pop_free

qt.network.ssl: QSslSocket: cannot resolve sk_value

qt.network.ssl: QSslSocket: cannot resolve SSL_library_init

qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings

qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index

qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method

qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method

qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method

qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method

qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain

qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf

qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf

qt.network.ssl: QSslSocket: cannot resolve SSLeay

qt.network.ssl: Incompatible version of OpenSSL

Когда-то давно такую проблему решал установкой libssl 1.0

Сейчас выкидывает ошибки на команду: sudo apt install libssl1.0-dev

Чтение списков пакетов… Готово

Построение дерева зависимостей
Чтение информации о состоянии… Готово

Пакет libssl1.0-dev недоступен, но упомянут в списке зависимостей другого пакета.

Это может означать, что пакет отсутствует, устарел или доступен из источников, не упомянутых в sources.list

E: Для пакета «libssl1.0-dev» не найден кандидат на установку

Помогите пожулайста решить этот косяк

 , , ,

boganet9993
()

Не видит адаптер wifi

Поставил ubuntu 18.04 и столкнулся с проблемой, что ос не видит адаптер wifi. Так понимаю, что проблема в отсутсвующих дровах. В интернете почитал, толком ничего не понял. Если кто поможет - буду очень благодарен)

sudo iwlist scan

lo Interface doesn’t support scanning.

sudo lspci | grep Network

00:14.3 Network controller: Intel Corporation Device 02f0

lshw -C network

конфигурация: driver=iwlwifi latency=0

 

boganet9993
()

wlan0 Interface doesn't support scanning : Network is down

В общем, я бился с этим больше трех часов. Я бессилен, поэтому прошу помощи.

На orange pi zero поставил Armbian Buster with Linux 5.3.9-sunxi. Пытаюсь подключиться по wifi к сети, а апельсинка ни одну из сетей не видит.

Подключаться пытался таким образом:

sudo nmtui-connect home

sudo nmtui

Результаты некоторых команд

sudo iwlist wlan0 scan

  • wlan0 Interface doesn’t support scanning : Network is down

sudo ifconfig -a

dummy0: flags=130<BROADCAST,NOARP> mtu 1500 ether de:21:2a:9d:7c:f7 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.104 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::1590:e50d:8ee4:9773 prefixlen 64 scopeid 0x20 ether 02:42:ff:c1:74:26 txqueuelen 1000 (Ethernet) RX packets 244 bytes 23884 (23.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 194 bytes 24494 (23.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 38

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 7a:0d:7e:5e:fd:ed txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 , ,

boganet9993
()

mitmproxy и https

Ребят, поясните пожалуйста, как в mitmproxy работать с https сайтами? Браузер ругается «Ваше соединение не защищено». Как заставить браузер доверять mitmproxy и его сертификатам?

 , , ,

boganet9993
()

Библиотека X11 и получение списка языков

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

XkbStateRec xkbState;
    Display *display = XOpenDisplay(NULL);
    XkbGetState(display, XkbUseCoreKbd, &xkbState);

    Atom real_prop_type; int fmt;
    unsigned long nitems, extra_bytes;
    char *prop_data = NULL;
    Atom rules_atom = XInternAtom(display, "_XKB_RULES_NAMES", False);
    XGetWindowProperty(display, DefaultRootWindow(display), rules_atom, 0L, 1024,
        False, XA_STRING, &real_prop_type, &fmt, &nitems, &extra_bytes, (unsigned char **) (void *) &prop_data);

    QStringList names;
    for(char* p=prop_data; p-prop_data < (long)nitems && p != NULL; p += strlen(p)+1) names.append( p );
    if (names.count() > 3 ) names = names[2].split(",");
    qDebug()<<names;
    qDebug()<<names[xkbState.group];
    XFree(prop_data);
    XCloseDisplay(display);
    languageLabel->setText(names[xkbState.group]);

И таким образом я получаю только сокращенное название языка (us,by,ru), а необходимо получать полное. Буду очень благодарен за помощь! С данной библиотекой никогда ранее не сталкивался, поэтому плохо понимаю, как ей пользоваться адекватно

 , ,

boganet9993
()

RSS подписка на новые темы