Witam
Czy da się zrobić z InputBoxa (w makrach) coś w stylu pola Combi?
Dokładniej chciałbym otwierać input i mieć możliwość wpisania danych ale równocześnie żeby mi wyświetlał listę do wyboru. Czyli coś jak pole Combi.
Mogę to zrobić przez dodatkowy Dialog z jednym polem Combi w którym będzie odniesienie do danych z formularza, to potrafię, ale może da się obejść Dialog i zrobić to za pomocą jakiegoś innego rozwiązania?
Krzysiek
InputBox jako Combi?
Re: InputBox jako Combi?
InputBox jest funkcją o ugruntowanej w tradycji nazwie, generującą skrajnie uproszczony dialog z jednym polem typu Text Entry. Combo Box jest innego typu kontrolką. Najprościej jest zdefiniować sobie bibliotekę, w której takie dialogi byłyby zadeklarowane pod łatwymi do zapamiętania nazwami.
Patrz trochę: moduł easygui napisany w Pythonie przez Stephena Ferga, by odciążyć użytkownika od konieczności pisania dialogów w Tk (albo innym środowisku okienkowym).
Patrz trochę: moduł easygui napisany w Pythonie przez Stephena Ferga, by odciążyć użytkownika od konieczności pisania dialogów w Tk (albo innym środowisku okienkowym).
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: InputBox jako Combi?
Dzięki za pomysł, poszukam, ale z tą biblioteką to przesadziłeś aż taki mądry to ja nie jestemJan_J pisze:...... Najprościej jest zdefiniować sobie bibliotekę........
Re: InputBox jako Combi?
Dlaczego przesadziłeś?
Zamiast projektować dialog na potrzeby jednego dokumentu, projektujesz go raz, piszesz funkcję postaci np. function ComboInputBox(message, items) as string, umieszczasz to wszystko w konfiguracji OpenOffice'a (czyli w bibliotece właśnie) i zapominasz, jak ten dialog został zbudowany.
Zamiast projektować dialog na potrzeby jednego dokumentu, projektujesz go raz, piszesz funkcję postaci np. function ComboInputBox(message, items) as string, umieszczasz to wszystko w konfiguracji OpenOffice'a (czyli w bibliotece właśnie) i zapominasz, jak ten dialog został zbudowany.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: InputBox jako Combi?
Nie wygląda to zbytnio skomplikowane. muszę pokombinować z tym.
Ale skoro tak, to rodzi mi się pytanie, czy tak przygotowany dialog i funkcje go wywołujące będą przenośne? Z komputera na komputer, w innych systemach, skoro umieszczam to w bibliotekach własnych?
Pomysł z easygui jest ciekawy, pakiet ma spore możliwości, z tym, że nie za bardzo potrafię do użyć w LO, a poza tym, czy dobrze rozumiem, że chcą go używać na innym komputerze też muszę mieć zainstalowanego pythona i ten pakiet? Jeśli tak, to takie rozwiązanie nie ułatwiłoby mi życia, wręcz odwrotnie. Napisanie dokumentu dla kogoś, ale z koniecznością instalowania dodatkowych pakietów raczej nie jest dobrym pomysłem. Wolę oprzeć się na czystym LO bez dodatkowych pakietów.
Ale skoro tak, to rodzi mi się pytanie, czy tak przygotowany dialog i funkcje go wywołujące będą przenośne? Z komputera na komputer, w innych systemach, skoro umieszczam to w bibliotekach własnych?
Pomysł z easygui jest ciekawy, pakiet ma spore możliwości, z tym, że nie za bardzo potrafię do użyć w LO, a poza tym, czy dobrze rozumiem, że chcą go używać na innym komputerze też muszę mieć zainstalowanego pythona i ten pakiet? Jeśli tak, to takie rozwiązanie nie ułatwiłoby mi życia, wręcz odwrotnie. Napisanie dokumentu dla kogoś, ale z koniecznością instalowania dodatkowych pakietów raczej nie jest dobrym pomysłem. Wolę oprzeć się na czystym LO bez dodatkowych pakietów.
Re: InputBox jako Combi?
Easygui podałem jako przykład dobrze zaprojektowanej biblioteki tego typu. Nie zalecałbym używać go w OpenOffice. Python jest, ale nie zawsze jest TkInter.
Przenośność kodu interpretowanego zawsze stwarza pewien problem. Albo mamy podczs interpretacji biblioteki, do których się odwołujemy (co wymaga wstępnych zabiegów), albo mnożymy kopie kodu ponad miarę przyzwoitości (tzw. makra w dokumentach).
Jeżeli dokumenty mają ograniczony zasięg (powiedzmy wewnętrzne dokumenty w firmie), to ja optuję za ustaleniem wzorcowej konfiguracji systemu, na którym mają pracować. Ale wiem, że istnieją inne opinie.
Przenośność kodu interpretowanego zawsze stwarza pewien problem. Albo mamy podczs interpretacji biblioteki, do których się odwołujemy (co wymaga wstępnych zabiegów), albo mnożymy kopie kodu ponad miarę przyzwoitości (tzw. makra w dokumentach).
Jeżeli dokumenty mają ograniczony zasięg (powiedzmy wewnętrzne dokumenty w firmie), to ja optuję za ustaleniem wzorcowej konfiguracji systemu, na którym mają pracować. Ale wiem, że istnieją inne opinie.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: InputBox jako Combi?
Problem u mnie jest taki, że są i Maci i PC z Windows od XP po 8, a w domu jak coś dłubię to robię to na linuxie, do tego dokumenty trafiają do ludzi z firmy i każdy ma coś innego u siebie, więc siłą rzeczy musi to być przenośne. To tak na marginesieJan_J pisze:Jeżeli dokumenty mają ograniczony zasięg (powiedzmy wewnętrzne dokumenty w firmie), to ja optuję za ustaleniem wzorcowej konfiguracji systemu, na którym mają pracować.