• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Qt - pozycjonowanie kilku customowych widgetów zawsze na środku ekranu

Object Storage Arubacloud
0 głosów
185 wizyt
pytanie zadane 1 maja 2017 w C i C++ przez Cirt Początkujący (300 p.)

Cześć, chcę stworzyć w Qt za pomocą widgetów menu. Menu ma się składać z 4 pochylonych przycisków MainMenuButton, które utworzą romb. Do tego chciałbym, aby to menu zawsze się pozycjonowało na środku okna (nawet jak ktoś powiększy okno to menu ma się dostosować w taki sposób, aby było na środku). Stworzyłem widget MainMenuButton, który jest pojedynczym przyciskiem. Następnie stworzyłem widget MainMenu, w którym tworzę przyciski. W jaki sposób wypozycjonować te przyciski, aby stworzyły romb? A jeśli to się uda to w jaki sposób potem utrzymać ten romb zawsze na środku ekranu? 

Co do tej pory udało mi się zrobić: https://github.com/cirt9/DaySchedule/tree/master/DaySchedule

Bez użycia layoutów w klasie MainMenu wyświetlał się tylko jeden przycisk, a więc nie mogę(chyba) użyć do pozycjonowania metody move().

1 odpowiedź

0 głosów
odpowiedź 2 maja 2017 przez Bondrusiek Maniak (61,370 p.)

Witam,

strasznie nieprecyzyjne pytanie i brak w Twoim repozytorium pliku Designera "ui_mainwindow.h". Do pozycjonowanie powinieneś w 99% przypadków używać layoutów. Spróbuj utworzyć layout który wyśrodkuje Twój element możesz wykorzystać do tego spacery(http://doc.qt.io/qt-4.8/qspaceritem.html) następnie ustaw każdemu elementowi politykę rozmiaru na Expanding np. element->setSizePolicy(QSizePolcy::Expanding, QSizePolicy::Expanding) http://doc.qt.io/qt-5/qsizepolicy.html . Ewentualnie możesz użyć metody MainWindow::setCentralWidget(QWidget*); ale ona nie służy do pozycjonowanie tylko ustawia widget na centralny.

komentarz 2 maja 2017 przez Cirt Początkujący (300 p.)
Bo nie używam Designera (może to głupie ale chcę to zrobić wyłącznie przy użyciu kodu).

Najpierw muszę stworzyć pochylony prostokąt. To już zrobiłem. Teraz chcę ułożyć z 4 pochylonych prostokątów romb/pochylony kwadrat (pusty w środku, ewentualnie w środku 5 prostokąt). No i tu leży problem bo nie wiem w jaki sposób je ze sobą połączyć, aby zawsze były obok siebie.
komentarz 2 maja 2017 przez Bondrusiek Maniak (61,370 p.)

hej,

mimo, że nie używasz pliku designera to istnieje on w projekcie. Zauważ plik mainwindow.cpp linia 2  #include "ui_mainwindow.h"

komentarz 2 maja 2017 przez Cirt Początkujący (300 p.)

Formularz Designera usunąłem z projektu, ale pliku "ui_mainwindow.h" chyba nie mogę usunąć, ponieważ wtedy nie mógłbym używać np. ui->setupUi();. Dlatego dalej w pliku mainwindow.cpp znajduje się linia #include "ui_mainwindow.h"

Podobne pytania

0 głosów
2 odpowiedzi 975 wizyt
pytanie zadane 29 sierpnia 2018 w C i C++ przez niezalogowany
0 głosów
2 odpowiedzi 467 wizyt
pytanie zadane 1 maja 2017 w C i C++ przez Cirt Początkujący (300 p.)
0 głosów
2 odpowiedzi 1,683 wizyt
pytanie zadane 30 kwietnia 2015 w C i C++ przez Linker Bywalec (2,690 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...