Qt: własna kontrolka i jej dopasowanie

Qt: własna kontrolka i jej dopasowanie
  • Rejestracja: dni
  • Ostatnio: dni
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:

Kopiuj
 
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ę

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
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.
MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
0

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

Kopiuj
m_pNewGraphic = new QMapGraphicsView;
//tutaj te twoje ustawienia size'ów itp
setCentralWidget(m_pNewGraphic);
  • Rejestracja: dni
  • Ostatnio: dni
0
MasterBLB napisał(a)

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

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

dziękuję Wam bardzo - pomogło

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.