Zmiana widżetu karty



  • Witajcie drodzy forumowicze.

    Próbowałem już wiele języków i wiele bibliotek graficznych.
    Podczas nauki języka D natknąłem się na gtkD.
    Mogłem tam zmieniać widżet karty dzięki funkcji: setTabLabel ();
    Więcej na stronie: "http://api.gtkd.org/src/gtk/Notebook.html":http://api.gtkd.org/src/gtk/Notebook.html

    Chciałbym zmienić QLineEdit w karcie na dowolny inny widżet ( czysto schematycznie - potem zabiorę się za własną wizję z wybranym konkretnym widżetem ).
    Czy jest to możliwe używając C++ / Qt ?
    Jeśli tak, to najprawdopodobniej będę musiał napisać klasę, która dziedziczy od QTabWidget lub QTabBar i dodać własny kod, tak ?
    Niestety nie wiem jak w tym przypadku się do tego zabrać.

    Bardzo dziękuję za pomoc.


  • Moderators

    Nie bardzo rozumiem, o czym mówisz.

    Masz projekt interfejsu, w którym umieściłeś tymczasowo QLinEdity, a teraz chcesz je zamienić na konkretne widgety? W takim razie po prostu wykasuj QLineEdit i umieść w jego miejscu wigdet który potrzebujesz (w Qt Creator dodatkowo możesz kliknąć prawym na dany widgt i wybrać "Morph into", a system automatycznie podmieni widgety i zachowa ich ustawienia).

    Czy może potrzebujesz zamienić QLineEdit na inny widget w trakcie działania programu? To też łatwe i jest kilka sposobów. Można ukryć QLineEdit i dodać coś innego, można QLineEdit zniszczyć i zastąpić innym, można użyć QStackedWidget...

    musisz trochę sprecyzować opis. Polecam dokumentację Qt, jest naprawdę świetna.



  • Nie o to chodzi ...
    Chodzi mi o zmianę QLineEdit - etykietę karty w QTabBar.
    Znam funkcję:
    void QTabBar setTabButton ( int index, ButtonPosition position, QWidget *widget ...)
    lecz ona pozwala jedynie na dodanie powiedzmy QPushButton z lewej lub z prawej strony etykiety karty.
    Ja natomiast chciałbym przykładowy QPushButton wstawić zamiast tej właśnie etykiety karty, by był wyśrodkowany w karcie, tak jak etykieta.
    Wiem, że biblioteka gtkD pozwala na takie cuda.


  • Moderators

    Ok, teraz jasne i nie znam odpowiedzi ;)



  • Spróbowałem swych sił i przetłumaczyłem moje zagadnienie na język angielski.
    Duplikat tego w innym języku znajduje się pod adresem:
    "http://qt-project.org/forums/viewthread/30116/":http://qt-project.org/forums/viewthread/30116/
    Jeśli ktoś zna rozwiązanie, to proszę napisać odpowiedź w którymkolwiek języku / poście.
    Za pomoc bardzo dziękuję.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.