Qt: własna kontrolka i jej dopasowanie

0

Problem jest taki
mam QMainWindow na nim jest CentralWidget
no i do tego CentralWidget chcę dodać własną kontrolkę która dziedziczy po GraphicView chciałbym aby była dopasowana do okna, czyli była maksymalnie powiększona i rozszerzona, a przy zmianie rozmiaru okna żeby kontrolka też zmieniała swój rozmiar

zrobiłem to tak:

 
QMainWnd::QMainWnd(QWidget *parent) :
    QMainWindow(parent)
{
    ui->setupUi(this);

    m_pNewGraphic = new QMapGraphicsView(this->centralWidget());
    m_pNewGraphic->setMaximumSize(maximumSize());
    m_pNewGraphic->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    m_pNewGraphic->show();
}

ale nie działa - pojawia się mały prostokąt w lewym górnym rogu i tyle

za odpowiedzi jak zrobić aby było dobrze - z góry dziękuję

0
  1. tworząc swoją kontrolkę nie używasz prefiksu Qt-kowego (Q) tylko swojego, albo żadnego
  2. sizePolicy działa tylko na widgety wstawione są w layout
  3. jesli coś ma za parent-a widget'a, to nie robisz na nim show (to main widnow odpowiada za to)
  4. najprościej ustaw centralWidget na swoją kontrolkę
  5. dołączyć layout do centralWidget (jeśli jest ustawiony) i swoja kontrolkę wstawić w ten layout.
0

Słuchaj Marka,dobrze powiada.A żeby było łopatologicznie,to swojego widgeta stwórz tak:

m_pNewGraphic = new QMapGraphicsView;
//tutaj te twoje ustawienia size'ów itp
setCentralWidget(m_pNewGraphic);
0
MasterBLB napisał(a)

Słuchaj Marka,dobrze powiada.A żeby było łopatologicznie,to swojego widgeta stwórz tak:

m_pNewGraphic = new QMapGraphicsView;
//tutaj te twoje ustawienia size'ów itp
setCentralWidget(m_pNewGraphic);

dziękuję Wam bardzo - pomogło

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