Size: a a a

2020 March 02

M

Mysle in Qt
Anatoly Shirokov
у тебя есть библиотека, которой нужна callback функция на определенное событие. чтобы клиенты библиотеки могли передавать в этот callback свои данные, библиотека предоставляет user_data, куда клиент и помещает все, что ему требуется в callback-e:

struct library {
    void* user_data = nullptr;
     void (*callback)(void*);
     void notify() {
           if(callback)
              callback(user_data);
     }
};

есть твой класс, который будет обрабатывать это событие от библиотеки:
class client {
public:
   void handler() {}
};
void client_handler(void*user_data) {
  client* ptr = reinterpret_cast<client*>(user_data);
  ptr->handler();
}
как в этом случае поступают?


client c;
library lib;
lib.user_data = &c;
lib.callback = &client_handler;
...
// где-то в недрах библиотеки
lib.notify();

Эта физика понятна?
спасибо за подсказку, сделал почти так, но структуру реализовал внутри, кастанул и вызвал колбэк.  *Про вчерашнее
источник

GK

Grigorii Kolesnikov ☭ in Qt
Добрый вечер! Если я реализую шахматную доску на QML, как думаете, GridView подойдет? Хочу что бы фигуры "летали" над доской, а не просто исчезали в одной клетке, и появлялись в другой. Я правильно понимаю что надо сами фигуры расположить как бы не в делегате, а НАД GridView?
источник

Е

Егор in Qt
Grigorii Kolesnikov ☭
Добрый вечер! Если я реализую шахматную доску на QML, как думаете, GridView подойдет? Хочу что бы фигуры "летали" над доской, а не просто исчезали в одной клетке, и появлялись в другой. Я правильно понимаю что надо сами фигуры расположить как бы не в делегате, а НАД GridView?
z-index?
источник

AS

Anatoly Shirokov in Qt
Grigorii Kolesnikov ☭
Добрый вечер! Если я реализую шахматную доску на QML, как думаете, GridView подойдет? Хочу что бы фигуры "летали" над доской, а не просто исчезали в одной клетке, и появлялись в другой. Я правильно понимаю что надо сами фигуры расположить как бы не в делегате, а НАД GridView?
Да, у фигур на время полета должен меняться парент с делегата на доску
источник

GK

Grigorii Kolesnikov ☭ in Qt
Anatoly Shirokov
Да, у фигур на время полета должен меняться парент с делегата на доску
Я думал просто как то получать координаты клеток GridView, а фигуры вообще слоем ниже расположить. А есть какой то метод типа сетПарент? Или как примерно это делается?
источник

AS

Anatoly Shirokov in Qt
Grigorii Kolesnikov ☭
Я думал просто как то получать координаты клеток GridView, а фигуры вообще слоем ниже расположить. А есть какой то метод типа сетПарент? Или как примерно это делается?
Через state меняешь любое свойство
источник

AS

Anatoly Shirokov in Qt
А state меняешь, когда ходишь
источник

GK

Grigorii Kolesnikov ☭ in Qt
спасибо, да нашел такое
источник

GK

Grigorii Kolesnikov ☭ in Qt
как я раньше жил
источник

B

Bjørn in Qt
Добрый вечер, подскажите почему svg картинку засунутую в Item сначала отрисовывает потом растягивает?
Можно как-то отрисовать по размеру Item-a?
источник

𝔾ℝ

𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟 in Qt
Grigorii Kolesnikov ☭
Добрый вечер! Если я реализую шахматную доску на QML, как думаете, GridView подойдет? Хочу что бы фигуры "летали" над доской, а не просто исчезали в одной клетке, и появлялись в другой. Я правильно понимаю что надо сами фигуры расположить как бы не в делегате, а НАД GridView?
Только сегодня смотрел на Ютюбе видос, как пятнашки делали на qml. Там на основе GridView делали. Но блин, как-то гемморно мне показалось. В начале видео сказали, что проще, чем на виджетах, но просмотрев минут 20 я полностью нить разговора потерял 😂
источник

GK

Grigorii Kolesnikov ☭ in Qt
сейчас кстати на гите видел шахматы на кумле тоже. Так там у чела на репитере просто сделано
источник

𝔾ℝ

𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟 in Qt
Ну там сама реализация модели на с++ у него так лихо получалась, а у меня моск через глаза вытекать начал
источник

GK

Grigorii Kolesnikov ☭ in Qt
о боже, почти 3 часа?
источник

GK

Grigorii Kolesnikov ☭ in Qt
𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟
Ну там сама реализация модели на с++ у него так лихо получалась, а у меня моск через глаза вытекать начал
у меня написана логика и в консоли уже все работает, я задумал сделать библиотеку, на которой можно было бы написать серию любых игр, где задействована доска и фигуры
источник

𝔾ℝ

𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟 in Qt
Grigorii Kolesnikov ☭
о боже, почти 3 часа?
Да, меня только на половину видео хватило
источник

𝔾ℝ

𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟 in Qt
Grigorii Kolesnikov ☭
у меня написана логика и в консоли уже все работает, я задумал сделать библиотеку, на которой можно было бы написать серию любых игр, где задействована доска и фигуры
Идея хорошая!
источник

GK

Grigorii Kolesnikov ☭ in Qt
𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟
Да, меня только на половину видео хватило
промотал по быстрому, увидел похожие на мои методы
источник

𝔾ℝ

𝔾𝕣𝕒𝕪 ℝ𝕒𝕧𝕖𝕟 in Qt
Grigorii Kolesnikov ☭
промотал по быстрому, увидел похожие на мои методы
Ну для меня qml пока тайна, покрытая мраком, но тема интересная. Пока только на виджетах строю приложения.
источник

AS

Anatoly Shirokov in Qt
Bjørn
Добрый вечер, подскажите почему svg картинку засунутую в Item сначала отрисовывает потом растягивает?
Можно как-то отрисовать по размеру Item-a?
sourceSize установи
источник