Jak odwołać sie do widgetu z innego obiektu?

Odpowiedz Nowy wątek
2011-08-04 19:55
0

Potrzebuje odwołać sie do widgetu(powiedzmy labelAsdf) z obiektu nie będącego jego rodzicem. W rodzimej klasie zrobiłbym to tak: ui->labelAsdf-> ... Myślałem o zaprzyjaźnieniu dwóch klas, lecz to wymagałoby stworzenia nowego obiektu MainWindow a tego nie chce. Próbowałem przesyłać do funkcji pointer na ui, lecz nie działało to prawidłowo. Co mogę zrobić?

Pozostało 580 znaków

2011-08-04 21:05
0

1.Użyć mechanizmu signal/slot
2.Dodać w konstruktorze wskaźnik na ten widget do którego chce się odwoływać

Tak btw,zapodaj kod tych klas,bo jasnowidzami nie jesteśmy


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

2011-08-04 23:00
0

mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
#include "xmlh.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    XmlH *xmldoc = new XmlH();
 
    QTableWidget *wi = ui->tabelaKsiazki;
 
    xmldoc->pokazTabele(0,5, wi);
 
    ui->tabelaKsiazki->setColumnWidth(0, 377);
    ui->tabelaKsiazki->setColumnWidth(1, 150);
    ui->tabelaKsiazki->setColumnWidth(2, 50);
    ui->tabelaKsiazki->setColumnWidth(3, 100);
 
}
 ciach

xmlh.cpp:

ciach
void XmlH::pokazTabele(int co, int rows, QTableWidget *ptr)
{
 ciach
  ptr->setItem(i,0, new QTableWidgetItem("foo"));
 ciach
}
edytowany 2x, ostatnio: sremmargorp, 2011-08-04 23:01

Pozostało 580 znaków

2011-08-05 11:02
0

Hm przekazujesz widzę wskaźnik do XmlH::pokazTabele...gdzie tu więc problem?Btw,definiowanie tego *wi jest zbyteczne,spokojnie możesz zrobić tak:

xmldoc->pokazTabele(0,5, ui->tabelaKsiazki);

"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0