Я хочу добавить элементы в ListWidget, который является частным членом класса, через функцию друга. На самом деле, я пытаюсь этот пример фрагмента использовать функцию друга для большего количества классов, чтобы обновить их ListWidgets из одной функции.
Мне нужно руководство по использованию функции друга в моем случае.
Пожалуйста, прости мое незнание по этой теме, любая помощь приветствуется.
class InBoxTab : public QWidget
{
Q_OBJECT
public:
InBoxTab(QWidget *parent = 0);
// InBoxTab();
~InBoxTab();
public slots:
void hello();
friend void adda(); // friend function
private:
QListWidget* listWidget1; //data member accessed by friend function
};
void adda()
{
InBoxTab I;
I.listWidget1->insertItem(1,QString("added frm fn"));
I.listWidget1->update();
}
InBoxTab::InBoxTab(QWidget *parent) :
QWidget(parent)
{
listWidget1 = new QListWidget(this);
QListWidgetItem* item = new QListWidgetItem("Item 1 added frm tab1 ");
listWidget1->addItem(item);
adda(); // Call to friend function
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(listWidget1);
this->setLayout(layout);
}