Size: a a a

2020 June 05

AS

Anatoly Shirokov in Qt
Andrey Nekto
Всем привет! объясните убогому как поменять текст надписи в одном классе из другого? В классе А есть метка Qlabel, в классе В форма в которую вводят текст, при нажатии кнопки на форме вызывается функция класса B  которая должна этот текст надо передать в класс А и поставить в качестве текста в надпись. Ткните пожалуйста куда копать!
Для этого объекту класса A должен быть известен объект класса B, в этом случае объект класса A может что-то поменять в обьекте класса B.
источник

AN

Andrey Nekto in Qt
объект класса В создается в классе А
источник

AS

Anatoly Shirokov in Qt
Andrey Nekto
объект класса В создается в классе А
Тогда тебе должен быть известен объект класса B, меняй
источник

AN

Andrey Nekto in Qt
Anatoly Shirokov
Тогда тебе должен быть известен объект класса B, меняй
мне надо поменять текст надписи в классе А после того как происходит нажатие кнопки и вызов соответствующей функции в классе В.
источник

AS

Anatoly Shirokov in Qt
Andrey Nekto
мне надо поменять текст надписи в классе А после того как происходит нажатие кнопки и вызов соответствующей функции в классе В.
#include <QCoreApplication>
#include <QDebug>

class B;
class A : public QObject
{
   Q_OBJECT;

public:
   A(QObject *parent = nullptr);
public slots:
   void onNewLabel(QString label) { qDebug() << label; }

public:
   void callEmitNewLabel();

private:
   B *b;
};

class B : public QObject
{
   Q_OBJECT;

public:
   B(QObject *parent = nullptr)
       : QObject(parent)
   {}

signals:
   void newLabel(QString label);

public:
   void emitNewLabel() { emit newLabel("new label"); }
};

A::A(QObject *parent)
   : QObject(parent)
   , b(new B(this))
{
   connect(b, &B::newLabel, this, &A::onNewLabel);
}
void A::callEmitNewLabel()
{
   b->emitNewLabel();
}


int main(int argc, char *argv[])
{
   QCoreApplication app(argc, argv);

   A a;
   a.callEmitNewLabel(); // типа нажали на кнопку B

   return app.exec();
}

#include "main.moc"
источник

AN

Andrey Nekto in Qt
Anatoly Shirokov
#include <QCoreApplication>
#include <QDebug>

class B;
class A : public QObject
{
   Q_OBJECT;

public:
   A(QObject *parent = nullptr);
public slots:
   void onNewLabel(QString label) { qDebug() << label; }

public:
   void callEmitNewLabel();

private:
   B *b;
};

class B : public QObject
{
   Q_OBJECT;

public:
   B(QObject *parent = nullptr)
       : QObject(parent)
   {}

signals:
   void newLabel(QString label);

public:
   void emitNewLabel() { emit newLabel("new label"); }
};

A::A(QObject *parent)
   : QObject(parent)
   , b(new B(this))
{
   connect(b, &B::newLabel, this, &A::onNewLabel);
}
void A::callEmitNewLabel()
{
   b->emitNewLabel();
}


int main(int argc, char *argv[])
{
   QCoreApplication app(argc, argv);

   A a;
   a.callEmitNewLabel(); // типа нажали на кнопку B

   return app.exec();
}

#include "main.moc"
сорри не написал сразу, у меня питон 🙊
источник

AS

Anatoly Shirokov in Qt
Andrey Nekto
сорри не написал сразу, у меня питон 🙊
принцип работы с сигналами и слотами там такой же
источник

AN

Andrey Nekto in Qt
буду разбираться... вот не догоняю я многие моменты в ООП, всю дорогу писал совсем по другим принципам, хоть переписывай все в виде функций без всяких инкапсуляций и прочих плюшек😕
источник

AS

Anatoly Shirokov in Qt
Andrey Nekto
буду разбираться... вот не догоняю я многие моменты в ООП, всю дорогу писал совсем по другим принципам, хоть переписывай все в виде функций без всяких инкапсуляций и прочих плюшек😕
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in Qt
А почему moc может генерировать код, если весь файл для которого он генерирует завернут в #if и условие вышло в false (т.е. файл для него должен быть по сути пуст)?
источник

AN

Andrey Nekto in Qt
спасибо, сейчас поэкспериментирую, могу я вас потом попросить на код глянуть если не осилю?
источник

AS

Anatoly Shirokov in Qt
Andrey Nekto
спасибо, сейчас поэкспериментирую, могу я вас потом попросить на код глянуть если не осилю?
не, всем показывай, пусть все страдают :)))
источник

VK

Vladislav Kremenevsk... in Qt
Блииин, спасибо всем, кто помогал, получил за курсач десятку, если кому интересно, мессенджер, можете кидать в issues, что доработать, сделать :)
https://github.com/kremenevskiy/Messenger
источник

VK

Vladislav Kremenevsk... in Qt
Позже на многопоточку переведу и добавлю отдельный чат с каждым челом, не только групповой
источник

AN

Andrey Nekto in Qt
Anatoly Shirokov
не, всем показывай, пусть все страдают :)))
😁 ну так то я не совсем дуб, просто самоучка, и все больше совсем в другом направлении писал... B2B систему типа битрикса, учетную систему типа 1с с работой всего через интернет это я осилил, а вот с питоном и GUI просто жесть, не догоняю многое и все тут, и гуру нормального хрен найдешь что бы объяснил по человечески...
источник
2020 June 06

AS

Anatoly Shirokov in Qt
в pro.buildsystems всплыл вопрос об использовании gtest gmock в cmake проектах
источник

AS

Anatoly Shirokov in Qt
Переслано от Anatoly Shirokov
#cmake #gmock #gtest #googletest я набросал пример, как надо пользоваться gtest gmock в cmake проектах, собирать его надо в рамках твоего проекта, с твоими опциями компилятора, а не отдельно: https://github.com/anatoly-spb/cmake-googletest-example
источник

VK

Vladislav Kremenevsk... in Qt
источник

VK

Vladislav Kremenevsk... in Qt
источник

VK

Vladislav Kremenevsk... in Qt
источник