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.htmlChciał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.
-
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. -
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ę.