Anzeige:
Ergebnis 1 bis 15 von 16

Thema: QPushButton vertikal

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Klappt leider doch noch nicht wie gewünscht. Wenn sich das QTabWidget::centralWidget()::setHide(true) setzt wird die Breite von QDockWidget nicht aktuallisiert. Auch QDockWidget::update(), QDockWidget::repaint() ändert daran nichts.
    Wenn ich den Umweg von QTabWidget::removeTab(x) gehe, behält QTabWidget die OwnerShip sodas jede Anfrage nach dem centralWidget mit findChild() das Widget als Resultat zurück gibt.

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich bin mir jetzt nicht sicher was du meinst, QTabWidget hat keine Methode centralWidget().

    Welchen Effekt versuchst du zu erreichen?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Ups, QTabWidget::currentWidget()::setHidden(true). Ich habe das ganze auf meine Webseite gestellt: hier. Unter Experimental ist das Projekt zu finden bool MainWindow::eventFilter(QObject* object, QEvent* event). Persöhnlich glaube ich das es ein Fehler von Qt ist, möchte aber, bevor ich es als Unschönheit melde, die Meinung eines erfahreren Programmierers dazu einholen.
    Geändert von dml (15-04-2014 um 09:38 Uhr)

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du hast leider noch nicht gesagt was du erreichen möchtest, also was currentWidget()->hide() bewirken sollte.

    Der Code auf deiner Website enthält auch noch kein TabWidget

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Hi anda_skoa,

    vielen Dank, das Du Dir wieder einmal die Mühe gemacht hast mir zu helfen. Stimmt ich habe es jetzt wie beim Qt Assistenten gemacht und QTabWidget völlig herrausgenommen:

    Code:
    	menu = mainwindow->menuBar()->addMenu((tr("&Settings")));
    	
    	action = menu->addAction(tr("DockWidget"));
    	action->setShortcut(Qt::CTRL + Qt::Key_L);
    	connect( action, SIGNAL(triggered(bool)), this, SLOT(hideDockWidget(bool)));
    	action->setCheckable(true);
    Das Ergebnis ist das Gleiche und das Problem ist gelößt. Die Entwickler wollten nicht, das man an das Widget herrankommt siehe: hier.
    Geändert von dml (16-04-2014 um 11:15 Uhr)

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Mir fehlt leider immer noch der Kontext zu deinem Problem.

    Der neue Code hat aich nichts mit TabWidget zu tun.

    Was genau hätte deiner Meinung nach das currentWidget()->hide() bewirken sollen?

    Wenn du das TabWidget verstecken willst, musst du das TabWidget verstecken.
    Wenn du die Tabs selbst sichtbar haben willst, nimm einen TabBar und ein QStackedWidget und verstecke das StackedWidget

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Vienen Dank für deinen Tip. Derzeit ist mir aber meine Applikation noch nicht Wert genug für den Aufwand. Die Lösung die ich gefunden habe reicht erst einmal vollkommen aus.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •