|
91
: Июля 21, 2024, 13:42
|
|
Автор yuri_ch - Последний ответ от yuri_ch
|
|
Доброго дня. В QT начинаю. Сделал класс в C++, который собирает данные в иерархический список, сделал вокруг него модель на основе QAbstractItemModel, через Q_PROPERTY объявил свойства для входных параметров, зарегил через qmlRegisterType, создал в main.qml, инициализировал параметр, указал как модель в TreeView - все нарисовалось(хотя и не сразу). Понадобилось дополнительно отобразить те же данные в ListView. Объявил в той же модели член типа QStringList, через Q_PROPERTY объявил свойство которое его возвращает, нарисовал метод, который заполняет QStringList, чтобы вызвать его в нужный момент, пометил метод через Q_INVOKABLE и... не пойму как его вызвать из QML. Что-то получилось в виде : MyQFsReaderModel{ //создается модель которая передается в TreeView id:fsModel rootPath: "c://WORK//Arduino_Projects//" (fsModel.crtListFsStr()) //вызывается нужный метод } но нужный мне метод crtListFsStr вызывается раньше чем устанавливается параметр rootPath. Почему - не нашел объяснения и как получить нужный результат тоже. Может кто подскажет?
|
|
92
: Июля 16, 2024, 14:59
|
|
Автор SektorCT - Последний ответ от SektorCT
|
вообще лучше по возможности такого избегать.
вариант с PARENT_SCOPE правильный. а что с ним не получается?
Этого не поулчится избежать. На этом принципе построен проект, из ооочень большого колличества модулей. Я только пытаюсь привести в надлежайший вид прототип.
|
|
93
: Июля 15, 2024, 12:48
|
|
Автор m_ax - Последний ответ от m_ax
|
Доброго времени суток, коллеги! Суть проблемы следующая. На железке стоит внешняя флешка FLASH MX25l6433f: Sector = 4095 byte Block = 8 sectors (32KB) Page = 2 blocks (64KB) Chip = 128 pages (8MB) Назрела необходимость написать под неё файловую систему. Чего хотелось бы из коробки - это поддержка циркулярных буферов, максимально равномерное использование секторов (число операций перезаписи ограниченно ~ 10^5 циклов) Ну и скорость и размер, разумеется) Вначале выбор пал на littlefs https://github.com/littlefs-project/littlefs, но после более близкого знакомства с ней, хочется поскорее забыть о ней) Собственно, коллеги, посоветуйте, поделитесь опытом или соображениями в каком направлении курить и куда лучше копать? Сейчас склоняюсь написать свою ФС с нуля..
|
|
94
: Июля 12, 2024, 11:23
|
|
Автор DarkHobbit - Последний ответ от tux
|
Обезлюдел форум... Лет 5 назад тут бы такое обсуждение пошло...
Так народ с ChatGPT общается. Русскоязычные форумы в своё время были очень токсичными и, как только появилась альтернатива, основная масса ушла.
|
|
95
: Июля 12, 2024, 11:10
|
|
Автор SektorCT - Последний ответ от kambala
|
|
вообще лучше по возможности такого избегать.
вариант с PARENT_SCOPE правильный. а что с ним не получается?
|
|
96
: Июля 12, 2024, 10:03
|
|
Автор DarkHobbit - Последний ответ от DarkHobbit
|
|
Обезлюдел форум... Лет 5 назад тут бы такое обсуждение пошло...
|
|
97
: Июля 11, 2024, 23:45
|
|
Автор SektorCT - Последний ответ от SektorCT
|
|
Всем привет.
Есть главный cmake файл, в нем через add_subdirectory() я добавляю подпроекты, и в них мне надо заполнять глобальную переменную списком файлов. После всех подпроектов мне надо с этим списком файлов работать. Подскажите как парвильно это сделать? Пробовал set_property(GLOBAL PROPERTY source_list_property "${PUBLIC_HEADER}") и set(source_list ${source_list} ${file_path} PARENT_SCOPE)
но не поулчается. Или я не парвильно с этми работаю.
|
|
98
: Июля 09, 2024, 10:55
|
|
Автор Александра - Последний ответ от kambala
|
сигнал take_free_pallet случайно не из конструктора Automatic испускается? это бы объяснило почему слот не вызывается. ну или объект automatic_wind удаляется рано. Больше проблем вроде не видно. Не знаю, как проверить, посылает от там что-то или нет (по ощущению будто нет). у тебя ж там есть вывод signal on automatiic — если он появляется, значит и сигнал испускается.
|
|
99
: Июля 09, 2024, 10:18
|
|
Автор Александра - Последний ответ от Александра
|
Добрый день. Такая странная проблема нарисовалась: я делала сигнал и слот (как обычно это делаю) для двух файлов, но я не могу понять, почему функция слота не работает, будто вообще не вызывается. Буду благодарна, если подскажите, а то уже весь мозг сломала... Все другие сигналы и слоты с файлом Automatic работают хорошо, а тут вобще не выходит. При работе вызываемой функции должно появиться сообщение в дэбаггере, а его нет, то есть строки кода не выполняются. Вот отрывки моего кода: automatic.cpp... public slots: void free_pallet(QVector<int> to_free_pallet); signals: void take_free_pallet(); //сигнал базе данных на считывание свободных мест database.h#include <automatic.h> ... private: Automatic *automatic_wind; signals: void send_free_pallet(QVector<int>); public slots: void search_free_pallet(); automatic.cpp... //проверка: emit take_free_pallet(); qDebug()<<"signal on automatiic"; ... database.cppDataBase::DataBase(QObject *parent) : QObject(parent) { qDebug()<<"it work"; automatic_wind = new Automatic(); connect(automatic_wind,&Automatic::take_free_pallet,this,&DataBase::search_free_pallet); connect(this,&DataBase::send_free_pallet,automatic_wind,&Automatic::free_pallet); } ... void DataBase::search_free_pallet(){ qDebug()<<"search"; QVector <int> number_pallet; QSqlQuery *query = nullptr; ... emit send_free_pallet(number_pallet); qDebug()<<"signal on database"; } Получается, что у меня вообще не вызыватся метод search_free_pallet() в классе DataBase, после того, как я посылаю сигнал take_free_pallet() в Automatic. Не знаю, как проверить, посылает от там что-то или нет (по ощущению будто нет).
|
|
100
: Июля 08, 2024, 11:50
|
|
Автор EugeneVC - Последний ответ от kambala
|
фигасе, форуму уже 20 лет 
|
|