python GUI vprasanje
2 naročnika
2 naročnika
Nekaj me zanima: Zakaj mi tole čisto normalno dela:
from tkinter import *
from bs4 import BeautifulSoup
import urllib.request
import time
#sparsamo imenik vseh sodelavcev
stran=urllib.request.urlopen('http://www.fmf.uni-lj.si/si/imenik/vsi/')
tekst=stran.read().decode('utf8')
soup = BeautifulSoup(tekst)
tekst2= soup.find_all('a')
seznam=[]
for s in tekst2:
seznam.append(s.getText())
seznamVseh=seznam[14:len(seznam)-6]
def izbrani():
izbira="Profesor " + str(seznamVseh[t.get()])
label.config(text = izbira)
print(izbira)
root = Tk()
menubar = Menu(root)
root.config(menu=menubar)
profesormenu = Menu(menubar)
menubar.add_cascade(label='Profesor', menu=profesormenu)
Create entries in the "File" menu
simulated command functions that we want to invoke from our menus
t=IntVar()
for i in seznamVseh:
#m=Radiobutton(root, text=i, variable=t, value = seznamVseh.index(i), command=izbrani)
profesormenu.add_radiobutton(label = i, var = t, value = seznamVseh.index(i),command=izbrani)
#m.pack( anchor = W )
label = Label(root)
label.pack()
root.mainloop()
Ko pa želim to uporabiti kot definicijo ki se bo izvršila ob stisku na nek glavni gumb pa ne deluje...
def izbrani():
izbira="Profesor " + str(seznamVseh[t.get()])
label.config(text = izbira)
print(izbira)
def oknoPredavatelj():
oknoPredavatelj = Tk()
oknoPredavatelj.title("Kje se trenutno nahaja predavatelj")
oknoPredavatelj.geometry("882x661")
menubar = Menu(oknoPredavatelj)
oknoPredavatelj.config(menu=menubar)
profesormenu = Menu(menubar)
menubar.add_cascade(label='Profesor', menu=profesormenu)
t=IntVar()
for i in seznamVseh:
#t=IntVar()
#m=Radiobutton(root, text=i, variable=t, value = seznamVseh.index(i), command=izbrani)
profesormenu.add_radiobutton(label = i, var = t, value = seznamVseh.index(i),command=izbrani)
#m.pack( anchor = W )
label = Label(oknoPredavatelj)
label.pack()
oknoPredavatelj.mainloop()
pri čemer se ta funkcija oknoPredavatelj izvrši s stiskom na gumb v glavnem oknu.
Hvala za pomoč in LP