Listbox Buttons Dynamisch erstellen

Fragen zu Tkinter.
Antworten
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Servus das geht doch sicherlich auich eleganter zu lösen

oder muss jeder button einzel erstellt werden der rückgabewert des Buttons
in druck()
sollte der listenname und das symbol sein.

da ich ein chart ausdrucken will wäre das ganze in wx besser da es hier einige plot funktionen gibt geht aber auch so denk ich

Code: Alles auswählen

# -*- coding: iso-8859-15 -*-


import Tkinter as tk


class Auswahl:
    tecdax = ['MOR.DE','IDS.DE','GPC.DE','FNT.DE','ES6.DE','DRW3.DE',
                  'EPC.DE','CGY.DE','BC8.DE','BBZ.DE','AUS.DE','AIX.DE',
                  'AFX.DE','KBC.DE','ADV.DE','MTH.DE','NDX1.DE','PFV.DE',
                  'QCE.DE','QIA.DE','QSC.DE','RSI.DE','SNG.DE','SOW.DE',
                  'SWV.DE','TA6.DE','UTDI.DE','VTW.DE','WDI.DE']
          
    mdax=['CLS1.DE','ALT.DE','AMB2.DE','AQU.DE','ARL.DE','ARO.DE',
                'AWD.DE','BOS3.DE','BEI.DE','DEQ.DE','DOU.DE','EAD.DE',
                'FRA.DE','FRE3.DE','G1A.DE','GBF.DE','GFJ.DE','HDD.DE',
                'DEZ.DE','HEI.DE','HNR1.DE','IKB.DE','HOT.DE','IVG.DE',
                'IWK.DE','KCO.DE','KRN.DE','LEO.DE','LXS.DE','MLP.DE',
                'MTX.DE','NDA.DE','PFD4.DE','PRA.DE','PRE.DE','PUM.DE',
                'PSM.DE','RHK.DE','RHM.DE','SAZ.DE','SDF.DE','SGL.DE',
                'SY1.DE','SZG.DE','SZU.DE','TGM.DE','TNH.DE','VOS.DE',
                'WCH.DE','WIN.DE']
    cdax=['IUR.DE','PIT.DE','HUL.DE','SIM.DE','MNV6.DE','RIN7.DE',
                'TBB.DE','LEC.DE','MAF.DE','VGT.DE','YMOS','YMO.DE','SFP1.DE',
                'DKA.DE','VMR.DE','STR.DE','BMO.DE','GARY.DE','COD.DE',
                'MOE.DE','AUT.DE','SIN.DE','EIS.DE','SHF.DE','MAU.DE',
                'BLAG.DE','BLN.DE','BJU.DE','MPR.DE','OAR.DE','FRO.DE',
                'PKB.DE','T1C.DE','UUU.DE','VSC.DE','AAA.DE','ACV.DE',
                'AGV.DE','AHH.DE','AAH3.DE','LUM.DE','RBX.DE','NIE.DE',
                'AQU.DE','ACW.DE','AWD.DE','AX33.DE','ARL.DE','ABO.DE',
                'RSB.DE','HNG.DE','LKI.DE','ADC.DE','ADS.DE','ADL.DE',
                'AAH.DE','ADJ.DE','ADV.DE','DVN1.DE','AP8.DE','AGI.DE',
                'DPW.DE','DPB.DE','DTE.DE']
    sdax=['AB1.DE','B5A.DE','AOX.DE','BAD.DE','BHS.DE','BYW6.DE','COM.DE',
                'D9C.DE','DAZ.DE','DBA.DE','DSJ.DE','DUE.DE','DWNI.DE','DYK3.DE',
                'EEX.DE','ESC.DE','EV4.DE','FIE.DE','EVD.DE','FPE3.DE','GFK.DE',
                'GIL.DE','GLJ.DE','GMM.DE','GWI1.DE','GXI.DE','HG1.DE','HXCI.DE',
                'INH.DE','IYP.DE','JUN3.DE','KBU.DE','KWS.DE','MDN.DE','MPC.DE',
                'MVV1.DE','O2C.DE','P1Z.DE','RAA.DE','SGS.DE','SIX2.DE','SKB.DE',
                'SPR.DE','T3C.DE','TEG.DE','TTK.DE','VIA.DE','WAC.DE','WAS.DE',
                'ZIL2.DE']
    dax30=['ADS.DE','ALV.DE','BAS.DE','BAY.DE','BMW.DE','CBK.DE',
                 'DAI.DE','DB1.DE','DBK.DE','DPB.DE','DPW.DE','DTE.DE',
                 'EOA.DE','FME.DE','HEN3.DE','HRX.DE','IFX.DE','LHA.DE',
                 'LIN.DE','MUV2.DE','MAN.DE','MEO.DE','MRK.DE','RWE.DE',
                 'SIE.DE','TKA.DE','TUI1.DE','VOW.DE','SAP.DE']

    symbollisten = {'tecdax':tecdax, 'mdax':mdax,'cdax':cdax,'sdax':sdax,'dax30':dax30}
      
     
       
       
    def __init__(self):
        self.root = tk.Tk()
        self.auswahlframe = tk.LabelFrame(self.root, text='Auswahlfeld')
        self.auswahlframe.pack(fill=tk.X)
        self.anzeigeframe = tk.LabelFrame(self.root,
                                                text='Treffer in der Auswahl')
        self.anzeigeframe.pack(fill=tk.X)
        self.var_symbol=tk.StringVar()

        self.buttons = list()
        self.auswahlbuttons()
        self.neu = tk.Button(self.root, text='CLOSE', command=self.close)
        self.neu.pack()
       
        self.root.mainloop()

       
    def close():
         root.destroy()

    
    def auswahlbuttons(self):
        """
        for key,value in self.symbollisten.iteritems():
            tlabel = tk.Label(self.auswahlframe, text='Symbol'+key+':')
            tlabel.pack(side=tk.LEFT)
            self.buttons.append(tlabel)
            self.optionTecdax = tk.OptionMenu(self.auswahlframe, self.var_symbol,
                                        command=self.druck,
                                        *self.value)
            self.optionTecdax.pack(side=tk.LEFT)
            self.buttons.append(self.optionTecdax)

        """
        tlabel = tk.Label(self.auswahlframe, text='SymbolTecdax:')
        tlabel.pack(side=tk.LEFT)
        self.buttons.append(tlabel)
        self.optionTecdax = tk.OptionMenu(self.auswahlframe, self.var_symbol,
                                        command=self.druck,
                                        *self.tecdax)
        self.optionTecdax.pack(side=tk.LEFT)
        self.buttons.append(self.optionTecdax)

        mlabel = tk.Label(self.auswahlframe, text='SymbolMdax: ')
        mlabel.pack(side=tk.LEFT)
        self.buttons.append(mlabel)
        self.optionMdax = tk.OptionMenu(self.auswahlframe, self.var_symbol,
                                        command=self.druck,
                                        *self.mdax)
        self.optionMdax.pack(side=tk.LEFT)
        self.buttons.append(self.optionMdax)
        
        # und so weiter
         
    def druck(self,event=None):
        print self.var_symbol.get()

    
 
if __name__ == '__main__':
    Auswahl() 
Antworten