Text do sloupců a scroll, Grid – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Text do sloupců a scroll, Grid – Python – Fórum – Programujte.comText do sloupců a scroll, Grid – Python – Fórum – Programujte.com

 

Pavel0
Newbie
19. 3. 2006   #1
-
0
-

Chtěl jsem se zeptat, když udělám výpis dlouhého seznamu do okna pomocí GRID, tak nemůžu žádným způsobem scrollovat. Dá se to nějak vyřešit? Načítám tak několik sloupců a potřebuji je mít pěkně zarovnané pod sebou. Děkuji.

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
19. 3. 2006   #2
-
0
-

Moc tomu nerozumím, protože mi připadá že scrolování absolutně nesouvisí s grid. Prosím dej sem funkční zkrácený program (pokud již sám o sobě není krátký dost), bez zbytečných věcí, které s problémem nesouvisí, ať to vidíme co vůbec chceš.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Pavel0
Newbie
19. 3. 2006   #3
-
0
-

když budu mít seznam který bude mít třeba 1000 řádků tak aby se v něm dalo pohybovat a údaje byli pěkně zarovnané ve sloupcích.



import Tkinter as tki

hl_okno=tki.Tk()

seznam=[['Pavel', '1'], ['Sarka', '2'], ['a', '1'], ['d', '2'], ['f', '3']]
r=0

for jmen, tel in seznam:
r = r + 1
napis1=tki.Label(hl_okno, text=jmen)
napis1.grid(row=r, column=0)
napis2=tki.Label(hl_okno, text=tel)
napis2.grid(row=r, column=1)

hl_okno.mainloop()

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
19. 3. 2006   #4
-
0
-
Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jakub Vojáček
~ Moderátor
0
Grafoman
19. 3. 2006   #5
-
0
-

Správně:)
a v čem to bude spočívat;co budeě vysvětlovat?

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
geon0
Grafoman
19. 3. 2006   #6
-
0
-

nevím, fakt ještě nevím, ale to OOP moc nejede, soudě podle počtu odevzdávaných úkolů....

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Pavel0
Newbie
19. 3. 2006   #7
-
0
-

Tak jsem to udělal v Textu, ale nevím jak zarovnat sloupce pěkně pod sebe. V listboxu se mi sloupce nepodařilo udělat.
Dik za odpověď.

PS: Supr, že bude pokračovat seriál Tkinter.



# -*- coding: utf-8 -*-
data=[['Pavel', '1'], ['Sarka', '2'], ['asadsadasfasdf', '1'], ['d', '2'], ['f', '3']]

def vypisSeznamu():
ramec = Frame(hlavni)
posuvnik = Scrollbar(ramec, orient=VERTICAL)
seznam=Text(ramec, yscrollcommand=posuvnik.set, wrap=WORD, font="Arial 10")
for jmen, tel in data:
seznam.insert(END, jmen+"t")
seznam.insert(END, tel+"n")
seznam.config(state=DISABLED)
posuvnik.config(command=seznam.yview)
posuvnik.pack(side=RIGHT, fill=Y)
seznam.pack(side=LEFT, fill=BOTH, expand=YES)
ramec.pack(side=LEFT, fill=BOTH, expand=1)

from Tkinter import *

hlavni = Tk()
vypisSeznamu()
hlavni.mainloop()

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
20. 3. 2006   #8
-
0
-

V?ci, kter? po?aduje?, jsou defacto *tabulka* v gui. Tkinter jako takov? ji nem? p??mo zabudovanou (narozd?l od profi prost?ed? GTK nebo Qt), tak?e m?? dv? mo?nosti:

* podporu tabulek si doinstalujes - http://tkinter.unpythonic.net/wiki/TkTable nebo snad i v pmw nebo bwidget

* nebo to obejdes, ale pak nem??e? ?ekat plnou podporu tabulek, jak jsi t?eba zvykl? s Windows (nap?. online editace)

J? ti porad?m s druh?m, prvn? jsem zkou?el jednou, fungovalo mi to, ale u? si nic nepamatuji.

Nesm?? se sna?it d?lat sloupce, ale naform?tovat ??dku tak, aby byla p?kn? zarovnan?. Pak funguj? jak Listbox tak Text. Listbox je IMHO lep??, d? se pak hezky vyb?rat.

Naform?tov?n? ??dku se ud?l? tak, ?e si ho *cely* p?edem p?iprav??:

radek=jmen+"t"+tel + "n"
radek=radek.expandtabs(20) # tady si nastav?? skute?nou velikost tabu

no a pak ho vkl?d?? bud do textu nebo Listboxu... Nezapome? na nastaven? n?jak?ho neproporcion?ln?ho p?sma - rozhodn? ne Arial

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Pavel0
Newbie
20. 3. 2006   #9
-
0
-

tohle reseni mi uplne staci, dekuji. Mam ale problem s cestinou. Pokud je to v cp1250 tak to funguje dobre, ale v utf-8 to radky ktere maji cesky znaky rozhodi.



# -*- coding: utf-8 -*-
data=[['Pavel', '1'], ['Sarka', '2'], ['asadsadasfasdf', '1'], ['?', '2'], ['f', '3']]

def vypisSeznamu():
ramec = Frame(hlavni)
posuvnik = Scrollbar(ramec, orient=VERTICAL)
seznam=Text(ramec, yscrollcommand=posuvnik.set, wrap=WORD, font="Courier 10")
for jmen, tel in data:
tab=jmen+"t"+tel+"n"
tab=tab.expandtabs(20)
seznam.insert(END, tab)
seznam.config(state=DISABLED)
posuvnik.config(command=seznam.yview)
posuvnik.pack(side=RIGHT, fill=Y)
seznam.pack(side=LEFT, fill=BOTH, expand=YES)
ramec.pack(side=LEFT, fill=BOTH, expand=1)

from Tkinter import *

hlavni = Tk()
vypisSeznamu()

hlavni.mainloop()

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
20. 3. 2006   #10
-
0
-

[url=http://www.google.com/search?hs=1UP&hl=cs&client=firefox-a&rls=org.mozilla%3Acs-CZ%3Aofficial&q=python+%C4%8De%C5%A1tina&btnG=Hledat&lr=]google?[/url]

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Pavel0
Newbie
20. 3. 2006   #11
-
0
-

A co hledat?

Nahlásit jako SPAM
IP: ...–
Pavel0
Newbie
20. 3. 2006   #12
-
0
-

už to mám

seznam.insert(END, unicode(tab, 'cp1250'))

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
20. 3. 2006   #13
-
0
-

heh klikni, neboj se :-) a zkus hned to první...

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
geon0
Grafoman
21. 3. 2006   #14
-
0
-

pls oprav téma na nějaké výstižnější než je "grid". To je kvůli nově příchozím nebo hledajícím, aby bylo na první pohled vidět, co se v tématu probírá. Zatím to může udělat jen majitel, já zatím ne. Díky.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
geon0
Grafoman
22. 3. 2006   #15
-
0
-

našel jsem jeden zajímavý odkaz: [url=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52266]activestate[/url]

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Pavel0
Newbie
23. 3. 2006   #16
-
0
-

Něco takového jsem si představoval, takže to jdu otestovat. :-)

Nahlásit jako SPAM
IP: ...–
1. 7. 2006   #17
-
0
-

jak mam ulozit program do exe

Nahlásit jako SPAM
IP: ...–
geon0
Grafoman
1. 7. 2006   #18
-
0
-

Neumíš založit nové téma? Proč to rveš sem?

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Funkce .grid() — založil dragon124

Grid - roztazeni tlacitek — založil polerok

Nezobrazuje scroll v IE — založil DuDo

Android Scroll — založil hráč

Výška 100% + scroll — založil Forest

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý