本文整理汇总了Python中ttk.Combobox.current方法的典型用法代码示例。如果您正苦于以下问题:Python Combobox.current方法的具体用法?Python Combobox.current怎么用?Python Combobox.current使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ttk.Combobox
的用法示例。
在下文中一共展示了Combobox.current方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: FrOptions
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class FrOptions(LabelFrame):
def __init__(self, title, txt, dicoprofils):
LabelFrame.__init__(self, text=title)
self.listing_profils(dicoprofils)
# Dropdowm list of available profiles
self.ddprofils = Combobox(self,
values = dicoprofils.keys(),
width = 35,
height = len(dicoprofils.keys())*20)
self.ddprofils.current(1) # set the dropdown list to first element
# export options
caz_doc = Checkbutton(self, text = u'HTML / Word (.doc/.docx)',
variable = self.master.opt_doc)
caz_xls = Checkbutton(self, text = u'Excel 2003 (.xls)',
variable = self.master.opt_xls)
caz_xml = Checkbutton(self, text = u'XML (ISO 19139)',
variable = self.master.opt_xml)
# Basic buttons
self.action = StringVar()
self.action.set(txt.get('gui_choprofil'))
self.val = Button(self, textvariable = self.action,
relief= 'raised',
command = self.bell)
can = Button(self, text = 'Cancel (quit)',
relief= 'groove',
command = self.master.destroy)
# Widgets placement
self.ddprofils.bind('<<ComboboxSelected>>', self.alter_val)
self.ddprofils.grid(row = 1, column = 0, columnspan = 3, sticky = N+S+W+E, padx = 2, pady = 5)
caz_doc.grid(row = 2, column = 0, sticky = N+S+W, padx = 2, pady = 1)
caz_xls.grid(row = 3, column = 0, sticky = N+S+W, padx = 2, pady = 1)
caz_xml.grid(row = 4, column = 0, sticky = N+S+W, padx = 2, pady = 1)
self.val.grid(row = 5, column = 0, columnspan = 2,
sticky = N+S+W+E, padx = 2, pady = 5)
can.grid(row = 5, column = 2, sticky = N+S+W+E, padx = 2, pady = 5)
def listing_profils(self, dictprofils):
u""" List existing profilesin folder \data\profils """
for i in glob(r'../data/profils/*.xml'):
dictprofils[path.splitext(path.basename(i))[0]] = i
## if new > 0:
## listing_lang()
## load_textes(deroul_lang.get())
## deroul_profils.setlist(sorted(dico_profils.keys()))
## fen_choix.update()
# End of function
return dictprofils
def alter_val(self, inutile):
u""" Switch the label of the validation button contained in basics class
in the case that a new profile is going to be created"""
if self.ddprofils.get() == self.master.blabla.get('gui_nouvprofil'):
self.action.set(self.master.blabla.get('gui_crprofil'))
else:
self.action.set(self.master.blabla.get('gui_choprofil'))
# End of functionFin de fonction
return self.action
示例2: ComboBox
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class ComboBox(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
self.speed = 1.0
def initUI(self):
self.parent.title("Combobox")
self.pack(fill = BOTH, expand=True)
frame = Frame(self)
frame.pack(fill=X)
field = Label(frame, text = "Typing Speed:", width = 15)
field.pack(side = LEFT, padx = 5, pady = 5)
self.box_value = StringVar()
self.box = Combobox(frame, textvariable=self.box_value, width = 5)
self.box['values'] = ('1x', '2x', '5x', '10x' )
self.box.current(0)
self.box.pack(fill = X, padx =5, expand = True)
self.box.bind("<<ComboboxSelected>>", self.value)
def value(self,event):
self.speed = float(self.box.get()[:-1])
示例3: initUI
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
def initUI(self):
self.parent.title("TRAM")
self.style = Style()
self.style.theme_use("default")
self.pack(fill=BOTH, expand=1)
#Model Text
self.t = Text(self, borderwidth=3, relief="sunken")
self.t.config(font=("consolas", 12), undo=True, wrap='word')
self.t.grid(row=0, column=0, padx=2, pady=2, sticky=(N, W, E, S))
#Search Panel
searchPanel = LabelFrame(self, text="Find your model")
searchPanel.grid(row=0, column=1, padx=2, pady=2, sticky=N)
Label(searchPanel, text="Model name").grid(row=0, column=0, padx=2, pady=2, sticky=W)
searchQueryEntry = Entry(searchPanel, textvariable=self.searchQuery)
searchQueryEntry.grid(row=0, column=1, padx=2, pady=2, sticky=W)
Label(searchPanel, text="Transformation").grid(row=1, column=0, padx=2, pady=2, sticky=W)
preferredTransformation = StringVar()
box = Combobox(searchPanel, textvariable=preferredTransformation, state='readonly')
box['values'] = ('Any...', 'Object Change', 'Object Extension', 'Specialization', 'Functionality Extension', 'System Extension', 'Soft Simplification', 'Hard Simplification')
box.current(0)
box.grid(row=1, column=1, padx=2, pady=2, sticky=W)
findButton = Button(searchPanel, text="Find", command = self.__findModels)
findButton.grid(row=2, column=1, padx=2, pady=2, sticky=E)
#Listbox with recommendations
recommendationPanel = LabelFrame(self, text="Recommended models (transformations)")
recommendationPanel.grid(row=0, column=1, padx=2, pady=2, sticky=(W,E,S))
self.l = Listbox(recommendationPanel)
self.l.pack(fill=BOTH, expand=1)
#Button frame
transformButtonPanel = Frame(recommendationPanel)
transformButtonPanel.pack(fill=BOTH, expand=1)
viewButton = Button(transformButtonPanel, text="View", command = self.__loadSelectedModel)
viewButton.grid(row=1, column=0, padx=2, pady=2)
transformButton = Button(transformButtonPanel, text="Transform", command = self.__transformModel)
transformButton.grid(row=1, column=2, padx=2, pady=2)
示例4: LevelsWindow
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class LevelsWindow(Tk):
def __init__(self, menu):
Tk.__init__(self)
self.title("Pick a level")
icon = PhotoImage(file=os.getcwd() + '/res/logo/logo.gif')
self.tk.call("wm", "iconphoto", self._w, icon)
self.eval('tk::PlaceWindow %s center' % self.winfo_pathname(self.winfo_id()))
self.levels = [file[:-4] for file in listdir("res/levels")]
self.protocol("WM_DELETE_WINDOW", self.shutdownTTK)
if not self.levels: # No levels
self.withdraw()
tkMessageBox.showwarning("Error", 'There doesn\'t seem to be any levels saved. Create one pressing the "Design Level" button!')
self.shutdownTTK()
else:
self.menu = menu
self.value = StringVar()
self.levels_list = Combobox(self, textvariable=self.value, state='readonly')
self.levels_list['values'] = self.levels
self.levels_list.current(0)
self.levels_list.grid(column=0, row=0)
self.button = Button(self, text="Begin Level", command=self.begin_level)
self.button.grid(column=0, row=1)
self.mainloop()
def begin_level(self):
level = self.levels_list.get()
self.shutdownTTK()
self.menu.call_to("GameWindow", level)
def shutdownTTK(self):
# For some unholy reason, TTK won't shut down when we destroy the window
# so we have to explicitly kill it.
self.eval('::ttk::CancelRepeat')
self.destroy()
示例5: __init__
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
def __init__(self, parent, parenttab, name, section, paramprefix):
EditInput.__init__(self, parent, parenttab, name)
self._section = section
self._paramprefix = paramprefix
fontlist = list(tkFont.families())
fontlist.sort()
self._bvb = tki.BooleanVar()
self._bvi = tki.BooleanVar()
self._bvs = tki.BooleanVar()
self._bvu = tki.BooleanVar()
l = tki.Label(self, text = lang[lng.txtFontsize])
l.grid(row = 0, column = 0, padx = 5, pady = 2, sticky = tki.W)
tcmd = (self.register(self._ehOnValidateEntry), '%d', '%P')
e = tki.Entry(self, validate = 'key', validatecommand = tcmd, width = _sizechars)
self._esize = e
e.grid(row = 1, column = 0, padx = 5, pady = 2, sticky = tki.W)
l = tki.Label(self, text = lang[lng.txtFontName])
l.grid(row = 2, column = 0, padx = 5, pady = 2, sticky = tki.W)
cb = Combobox(self, values = fontlist)
self._cbfontname = cb
cb.grid(row = 3, column = 0, padx = 5, pady = 2, sticky = tki.W)
cb.bind('<<ComboboxSelected>>', self._setDirty)
cb.current(0)
cb = tki.Checkbutton(self, text = lang[lng.txtBold], onvalue = True, offvalue = False, variable = self._bvb, command = self._setDirty)
self._cbb = cb
cb.grid(row = 0, column = 1, padx = 5, pady = 2, sticky = tki.W)
cb = tki.Checkbutton(self, text = lang[lng.txtItalics], onvalue = True, offvalue = False, variable = self._bvi, command = self._setDirty)
self._cbi = cb
cb.grid(row = 1, column = 1, padx = 5, pady = 2, sticky = tki.W)
cb = tki.Checkbutton(self, text = lang[lng.txtStrikethrough], onvalue = True, offvalue = False, variable = self._bvs, command = self._setDirty)
self._cbs = cb
cb.grid(row = 2, column = 1, padx = 5, pady = 2, sticky = tki.W)
cb = tki.Checkbutton(self, text = lang[lng.txtUnderline], onvalue = True, offvalue = False, variable = self._bvu, command = self._setDirty)
self._cbu = cb
cb.grid(row = 3, column = 1, padx = 5, pady = 2, sticky = tki.W)
示例6: SolinetteGUI
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
#.........这里部分代码省略.........
def setpathtarg(self):
""" ...browse and insert the path of target folder """
self.xls = askopenfilename(parent = self,
title = u'Seleccionar el archivo Excel',
filetypes = (("Archivos Excel (2003)", "*.xls"),
("All files", "*.*")),
initialdir = '../sources')
if path.splitext(self.xls)[1] == '.xls':
hoy = '_' + strftime('%y%m%d', localtime())
self.target.insert(0, self.xls)
self.licolumns()
self.browsetarg.config(state=DISABLED)
self.target.config(state=DISABLED)
self.FrAttr.grid(row = 3, column = 1, sticky = N+S+W+E, padx = 2, pady = 2)
self.FrConn.grid(row = 4, column = 1, sticky = N+S+W+E, padx = 2, pady = 2)
self.tabl.insert(0, path.basename(self.xls).split('.')[0] + hoy)
self.val.config(state = ACTIVE)
# end of function
return self.xls
def licolumns(self):
u""" litsing columns names and types from Excel file """
book = xlrd.open_workbook(self.target.get()) # lectura del archivo
if book.nsheets > 1:
print book.sheets()
ish = 0
sheet = book.sheet_by_index(ish) # ouverture de la feuille 1
# names of columns (first row/line)
cols = sheet.row_values(0)
self.ddl_dir['values'] = cols
self.ddl_dis['values'] = cols
self.ddl_dir.current(1)
self.ddl_dis.current(2)
# types of columns
self.typcols = list(sheet.row_types(1))
# add universal ID to list of columns
self.dico_cols['SOL_IDU'] = 9
# loop on names and types of columns
for i in range(len(cols)):
self.dico_cols[cols[i]] = self.typcols[i]
# End of function
return book, self.typcols, self.dico_cols, self.ddl_dir, self.ddl_dis
def check_campos(self):
u""" Verifica que los campos del formulario son bien rellenos """
# conteo y mensaje de los errores
err = 0
msj = u'Rellenar todos los campos'
# checkeo de los campos vacios
if self.host.get() == u'':
self.H.configure(background = 'red')
err = err +1
if self.port.get() == 0:
self.P.configure(background = 'red')
err = err +1
if self.dbnb.get() == u'':
self.D.configure(background = 'red')
err = err +1
if self.usua.get() == u'':
self.U.configure(background = 'red')
err = err +1
if self.mdpa.get() == u'':
self.M.configure(background = 'red')
err = err +1
示例7: MainFrame
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
#.........这里部分代码省略.........
def openDir(self):
self.out_entry.delete(0,tk.END)
dirname=askdirectory()
self.out_entry.insert(tk.END,dirname)
if len(dirname)>0:
print('# <Menotexport>: Output folder: %s' %dirname)
self.hasout=True
self.checkReady()
def openFile(self):
self.db_entry.delete(0,tk.END)
ftypes=[('sqlite files','*.sqlite'),('ALL files','*')]
initialdir='~/.local/share/data/Mendeley Ltd./Mendeley Desktop'
initialdir=os.path.expanduser(initialdir)
if os.path.isdir(initialdir):
filename=askopenfilename(filetypes=ftypes,initialdir=initialdir)
else:
filename=askopenfilename(filetypes=ftypes)
self.db_entry.insert(tk.END,filename)
if len(filename)>0:
print('# <Menotexport>: Database file: %s' %filename)
self.probeFolders()
def probeFolders(self):
dbfile=self.db_entry.get()
try:
db=sqlite3.connect(dbfile)
self.menfolderlist=menotexport.getFolderList(db,None) #(id, name)
self.foldernames=['All']+[ii[1] for ii in self.menfolderlist] #names to display
self.foldersmenu['values']=tuple(self.foldernames)
self.foldersmenu.current(0)
db.close()
self.hasdb=True
self.checkReady()
except Exception as e:
print('# <Menotexport>: Failed to recoganize the given database file.')
print(e)
def addActionFrame(self):
frame=Frame(self,relief=tk.RAISED,borderwidth=1)
frame.pack(fill=tk.X,side=tk.TOP,\
expand=0,padx=8,pady=5)
label=tk.Label(frame,text='Actions:',bg='#bbb')
label.grid(row=0,column=0,sticky=tk.W,padx=8)
#---------------Action checkbuttons---------------
self.isexport=tk.IntVar()
self.ishighlight=tk.IntVar()
self.isnote=tk.IntVar()
self.isbib=tk.IntVar()
self.isris=tk.IntVar()
self.isseparate=tk.IntVar()
self.iszotero=tk.IntVar()
self.iscustomtemp=tk.IntVar()
示例8: MainFrame
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
#.........这里部分代码省略.........
ftypes=[('sqlite files','*.sqlite'),('ALl files','*')]
filename=askopenfilename(filetypes=ftypes)
self.db_entry.insert(tk.END,filename)
if len(filename)>0:
print('Database file: %s' %filename)
self.probeFolders()
def probeFolders(self):
dbfile=self.db_entry.get()
try:
db=sqlite3.connect(dbfile)
query=\
'''SELECT Documents.title,
DocumentFolders.folderid,
Folders.name
FROM Documents
LEFT JOIN DocumentFolders
ON Documents.id=DocumentFolders.documentId
LEFT JOIN Folders
ON Folders.id=DocumentFolders.folderid
'''
ret=db.execute(query)
data=ret.fetchall()
df=pd.DataFrame(data=data,columns=['title',\
'folerid','name'])
fetchField=lambda x, f: x[f].unique().tolist()
folders=fetchField(df,'name')
folders.sort()
folders.remove(None)
self.menfolderlist=['All',]+folders
self.foldersmenu['values']=tuple(self.menfolderlist)
self.foldersmenu.current(0)
db.close()
self.hasdb=True
self.checkReady()
except Exception as e:
print('Failed to recoganize the given database file.')
print(e)
def addActionFrame(self):
frame=Frame(self,relief=tk.RAISED,borderwidth=1)
frame.pack(fill=tk.X,side=tk.TOP,\
expand=0,padx=8,pady=5)
label=tk.Label(frame,text='Actions:',bg='#bbb')
label.grid(row=0,column=0,sticky=tk.W,padx=8)
#---------------Action checkbuttons---------------
self.isexport=tk.IntVar()
self.ishighlight=tk.IntVar()
self.isnote=tk.IntVar()
self.isseparate=tk.IntVar()
self.check_export=tk.Checkbutton(frame,text='Export PDFs',\
variable=self.isexport,command=self.doExport)
示例9: __init__
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class App:
def __init__(self, master,cam):
self.cam = cam
self.master = master
self.frame = None
self.canvas = None
self.histCanvas = None
self.video = None
self.position = None
##window frame
self.frame = tk.LabelFrame(self.master,text='Captured video')
self.frame.pack()
##toolbar
self.toolbar = tk.Frame(self.master)
self.toolbar.configure(background='grey',borderwidth=2)
self.toolbar.pack(side=tk.BOTTOM,padx=5,pady=5) #),expand=tk.YES,fill=tk.BOTH)
##adding buttons to toolbar
self.button = tk.Button(self.toolbar, text="QUIT", fg="red", command=master.destroy)
self.button.configure(background='tan')
self.button.pack(side=tk.LEFT,padx=5, pady=5)
## ttk Combobox
self.efLabel = Labelframe(self.toolbar, text="Choose an effect:")
self.efLabel.pack(anchor = tk.W, padx=5, pady=2)
self.efCombo = Combobox(self.efLabel, values = ['none','erode','smooth','dilate','laplace','threshold_otsu'], state='readonly')
self.efCombo.current(0)
self.efCombo.bind('<FocusIn>', self._update_values)
self.efCombo.pack(anchor=tk.NW,padx=5, pady=5)
##fps
## for using of command binding see: 'Thinkink in Tkinter' tt077.py
self.camon = tk.Button(self.toolbar, text="CAM on", fg="darkgreen", command=lambda: self.video.setOnoff(True))
self.camon.configure(background='tan')
self.camon.pack(side=tk.LEFT,padx=5, pady=5)
self.camoff = tk.Button(self.toolbar, text="CAM off", fg="blue", command=lambda: self.video.setOnoff(False))
self.camoff.configure(background='tan')
self.camoff.pack(side=tk.LEFT,padx=5, pady=5)
self.detector = tk.Button(self.toolbar, text="detect face", fg="blue", command=lambda: self.video.setDetection())
self.detector.configure(background='tan')
self.detector.pack(side=tk.LEFT,padx=5, pady=5)
self.effect = tk.Button(self.toolbar, text="effect", fg="yellow", command=lambda: self.video.setEffect(self.efCombo.get()))
self.effect.configure(background='tan')
self.effect.pack(side=tk.LEFT,padx=5, pady=5)
self.hi_there = tk.Button(self.toolbar, text="Hello") #, command=self.say_hi)
self.hi_there.bind("<Control-Button-1>", self.say_hi) #event binding
self.hi_there.configure(background='tan')
self.hi_there.pack(side=tk.LEFT,padx=5, pady=5)
##canvas to draw on
self.canvas = tk.Canvas(self.frame, width=620,height=460)
self.canvas.configure(background="black",relief='ridge',highlightthickness=5,borderwidth=5)
self.canvas.pack(side=tk.RIGHT,padx=5,pady=5) #(expand=tk.YES,fill=tk.BOTH)
##canvas to draw histogram
self.histLabel = Labelframe(self.frame, text="Histogram")
self.histLabel.pack(anchor = tk.W, padx=5, pady=2)
self.histCanvas = tk.Canvas(self.histLabel, width=300,height=240)
self.histCanvas.configure(background="black",relief='ridge',highlightthickness=5,borderwidth=5)
self.histCanvas.pack(side=tk.TOP,padx=5,pady=5)
##sliders
var=tk.DoubleVar()
self.contrast = tk.Scale(self.frame, orient=tk.HORIZONTAL,
label='Contrast',variable=var,resolution=0.5,from_=0.0, to=100.0, command=self._update_contrast)
self.contrast.pack(side=tk.LEFT, anchor=tk.NW, padx=5, pady=5)
self.brightness = tk.Scale(self.frame, orient=tk.HORIZONTAL,
label='Brightness',from_=0, to=100, command=self._update_brightness)
#self.brightness.bind('<FocusIn>', self._update_brightness)
self.brightness.pack(side=tk.LEFT, anchor=tk.NW, padx=5, pady=5)
##position label
self.position = tk.StringVar()
self.xyLabel = tk.Label(self.toolbar, textvariable = self.position, fg='red',width=30,justify='left').pack(padx=1, pady=5)
##set the camera
self.video = Camera(self.cam,self.master,self.canvas,self.histCanvas,self.frame,self.position)
self.video.setOnoff(False)
##==============================================================================
##pooling video from camera
def pool(self):
if self.video != None:
self.id=self.master.after(33,lambda: self.video.update_video())
## self.master.after(50, lambda: self.pool())
##==============================================================================
##for test purposes only
def say_hi(self, event):
print "hi there, everyone!"
##==============================================================================
##combo event
def _update_values(self, evt):
# add entered text to combobox list of values
#.........这里部分代码省略.........
示例10: initUI
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
def initUI(self):
self.master.title('Bureau of Labor Statistics: Market Summary')
#self.pack(fill=BOTH, expand=True)
#self.grid_rowconfigure(0, weight=1)
#self.grid_columnconfigure(0, weight=1)
self.grid()
######### Menu setup ###########
menubar = Menu(self.master)
file_menu = Menu(menubar)
file_menu.add_command(label='Open...', command=self.select_file)
file_menu.add_separator()
file_menu.add_command(label='Close', command=self.quit)
menubar.add_cascade(label='File', menu=file_menu)
about_menu = Menu(menubar)
about_menu.add_command(label='About')
menubar.add_cascade(label='Help', menu=about_menu)
self.master.config(menu=menubar)
# end menu setup
####### Logo ########
logo = Image.open('img/BLS logo.jpg')
logoo = ImageTk.PhotoImage(logo)
logo_label = Label(self, image=logoo)
logo_label.image = logoo
logo_label.grid(row=0, columnspan=2)
# end logo
##### Combobox ########
occ_label = Label(self, text='Occupations:')
occ_label.grid(row=1)
choices = ['None']
self.v = StringVar()
cb = Combobox(self, textvariable=self.v,state='disabled', width=30)
cb['values'] = choices
cb.current(0)
cb.bind('<<ComboboxSelected>>', self.on_select)
self.my_cb['cb'] = cb
cb.grid(row=1, column=1, pady=7, sticky=W)
# end combobox
###### Results #######
j_label = Label(self, text='Job:')
j_label.grid(row=2, padx=3, pady=3, sticky=W)
jr_label = Label(self, text='None', anchor=W, justify=LEFT, width=30)
self.my_labels['jr_label'] = jr_label
jr_label.grid(row=2, column=1, pady=3, sticky=W)
s_label = Label(self, text='Salary:')
s_label.grid(row=3, padx=3, pady=3, sticky=W)
sr_label = Label(self, text='None')
self.my_labels['sr_label'] = sr_label
sr_label.grid(row=3, column=1, pady=3, sticky=W)
# end results
####### Listbox #######
lb = Listbox(self, width=30)
lb.grid(row=0, column=2, rowspan=5, padx=10)
####### Footer ###########
closeButton = Button(self, text='Close', command=self.quit)
closeButton.grid(row=4, column=2, sticky=E)
示例11: MainFrame
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
#.........这里部分代码省略.........
def openDir(self):
self.out_entry.delete(0,tk.END)
dirname=askdirectory()
self.out_entry.insert(tk.END,dirname)
if len(dirname)>0:
#print('Output folder: %s' %dirname)
printch('输出到文件夹:')
print(' '+dirname)
self.hasout=True
self.checkReady()
def openFile(self):
self.db_entry.delete(0,tk.END)
ftypes=[('sqlite files','*.sqlite'),('ALL files','*')]
filename=askopenfilename(filetypes=ftypes)
self.db_entry.insert(tk.END,filename)
if len(filename)>0:
#print('Database file: %s' %filename)
printch('数据文件:')
print(' '+filename)
self.probeAlbums()
def probeAlbums(self):
dbfile=self.db_entry.get()
try:
db=sqlite3.connect(dbfile)
df=ximaexport.getData(db)
self.albumlist=ximaexport.getAlbumList(df,None) #(id, name)
self.albumnames=['All']+[ii[1] for ii in self.albumlist] #names to display
self.albummenu['values']=tuple(self.albumnames)
self.albummenu.current(0)
db.close()
self.hasdb=True
self.checkReady()
except Exception as e:
#print('Failed to recoganize the given database file.')
printch('无法识别sqlite数据文件.')
print(e)
def addActionFrame(self):
frame=Frame(self,relief=tk.RAISED,borderwidth=1)
frame.pack(fill=tk.X,side=tk.TOP,\
expand=0,padx=8,pady=5)
#label=tk.Label(frame,text='Actions:',bg='#bbb')
#label.grid(row=0,column=0,sticky=tk.W,padx=8)
#---------------Action checkbuttons---------------
frame.columnconfigure(0,weight=1)
#---------------------2nd row---------------------
subframe=Frame(frame)
subframe.grid(row=1,column=0,columnspan=6,sticky=tk.W+tk.E,\
pady=5)
#-------------------Album options-------------------
albumlabel=tk.Label(subframe,text=dgbk('专辑:'),\
示例12: Metadator
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
#.........这里部分代码省略.........
# Tabs
self.nb = Notebook(self)
self.tab_globals = Frame(self.nb) # tab_id = 0
self.tab_options = Frame(self.nb) # tab_id = 1
self.tab_attribs = Frame(self.nb) # tab_id = 2
self.nb.add(self.tab_globals,
text=self.blabla.get('gui_tab1'), padding=3)
self.nb.add(self.tab_options,
text=self.blabla.get('gui_tab2'), padding=3)
self.nb.add(self.tab_attribs,
text=self.blabla.get('gui_tab3'), padding=3)
self.logger.info('UI created')
### Tab 1: global
# Frames
self.FrPath = Labelframe(self.tab_globals,
name='main',
text=self.blabla.get('tab1_fr1'))
self.FrProg = Labelframe(self.tab_globals,
name='progression',
text=self.blabla.get('tab1_frprog'))
## Frame 1
# target folder
self.labtarg = Label(self.FrPath, text=self.blabla.get('tab1_path'))
self.target = Entry(self.FrPath, width=25)
self.browsetarg = Button(self.FrPath, # browse button
text=self.blabla.get('tab1_browse'),
command=lambda: self.setpathtarg(),
takefocus=True)
self.browsetarg.focus_force() # force the focus on
self.profil = Label(self.FrPath, text=self.blabla.get('tab1_prof'))
# profiles switcher
self.ddl_profil = Combobox(self.FrPath, values=self.li_pro, width=5)
self.ddl_profil.current(0)
self.ddl_profil.bind("<<ComboboxSelected>>", self.select_profil)
# widgets placement
self.labtarg.grid(row=1, column=1, columnspan=1,
sticky=N + S + W + E, padx=2, pady=8)
self.target.grid(row=1, column=2, columnspan=1,
sticky=N + S + W + E, padx=2, pady=8)
self.browsetarg.grid(row=1, column=3,
sticky=N + S + W + E, padx=2, pady=8)
self.profil.grid(row=2, column=1,
sticky=N + S + W + E, padx=2, pady=8)
self.ddl_profil.grid(row=2, column=2, sticky=W + E + N + S,
columnspan=2, padx=2, pady=8)
# tooltips
InfoBulle(self.target, message=self.dico_help.get(30)[1])
InfoBulle(self.browsetarg, message=self.dico_help.get(30)[1])
InfoBulle(self.ddl_profil, message=self.dico_help.get(31)[1])
## Frame 2
# variables
self.status = StringVar(self.FrProg, '')
# widgets
self.prog_layers = Progressbar(self.FrProg, orient="horizontal")
self.prog_fields = Progressbar(self.FrProg, orient="horizontal")
# widgets placement
Label(self.FrProg, textvariable=self.status,
foreground='DodgerBlue').pack(expand=1)
self.prog_layers.pack(expand=1, fill=X)
# Frames placement
self.FrPath.pack(expand=1, fill='both')
self.FrProg.pack(expand=1, fill='both')
示例13: Monitor
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class Monitor(Frame):
def __init__(self, parent, port, baud_rate, ser, toolchain, bii):
'''
Params:
parent: The parent Frame
port: string
baud_rate:
ser: serial
'''
Frame.__init__(self, parent)
self.parent = parent
self.port = port
self.baud_rate = baud_rate
self.ser = ser
self.toolchain = toolchain
self.bii = bii
self.initUI()
def initUI(self):
self.parent.title("Biicode serial monitor %s" % self.port)
self.style = Style() # We need to define a style, otherwhise seems flat whit in macos
self.style.theme_use(get_style())
for x in range(1):
Grid.columnconfigure(self, x, weight=1)
for y in [1, 2]:
Grid.rowconfigure(self, y, weight=1)
self._make_top_bar()
self._make_user_input()
self._make_rcv_log()
self._make_button_bar()
self.pack(fill=BOTH, expand=1)
self.serial_buffer = ""
self.count = 0
self.running = True
self.after(50, self.read_serial) # check serial again soon
def _make_top_bar(self):
menubar = Menu(self.parent)
filemenu = Menu(menubar, tearoff=0)
biimenu = Menu(menubar, tearoff=0)
editmenu = Menu(menubar, tearoff=0)
biimenu.add_command(label="Work (Save and process)", command=self.bii.work)
biimenu.add_command(label="Find", command=self.bii.find)
menubar.add_cascade(label="bii", menu=biimenu)
filemenu.add_command(label="Flash code", command=self.upload)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.parent.quit)
menubar.add_cascade(label="File", menu=filemenu)
editmenu.add_command(label="Clear", command=self.clear)
# editmenu.add_separator()
menubar.add_cascade(label="Edit", menu=editmenu)
self.parent.config(menu=menubar)
def _make_button_bar(self):
self.button_upload = Button(self, text="Flash code", command=self.upload)
self.button_upload.style = self.style
self.button_upload.grid(row=0, column=0, padx=2, pady=2)
self.baud_rate = 9600
self.button_combobox = Combobox(self)
self.button_combobox.bind("<<ComboboxSelected>>", self._update_baud_rate)
bauds = (300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200)
self.button_combobox['values'] = bauds
self.button_combobox.current(4)
self.button_combobox.grid(row=3, column=1, padx=2, pady=2)
def _make_user_input(self):
# make user input
self.user_input = Text(self, width=52, height=3, takefocus=1,
borderwidth=1, relief='ridge')
self.user_input.grid(row=1, column=0, padx=2, pady=2, sticky=N + S + E + W)
# make send button
self.button_send = Button(self, text="Send", command=self.send_clicked)
self.button_send.style = self.style
self.button_send.grid(row=1, column=1, padx=2, pady=2, sticky=N + S + E + W)
def _make_rcv_log(self):
# make receive log
recvLogFrame = Frame(self, width=400, height=200)
recvLogFrame.style = self.style
recvLogFrame.grid(row=2, column=0, padx=2, pady=2, sticky=N + S + E + W)
self.start_stop_button = Button(self, text="Stop", command=self.start_stop_clicked)
self.start_stop_button.style = self.style
self.start_stop_button.grid(row=2, column=1, padx=2, pady=2, sticky=N + S + E + W)
# make a scrollbar
self.scrollbar = Scrollbar(recvLogFrame)
self.scrollbar.pack(side=RIGHT, fill=Y)
# make a text box to put the serial output
self.log = Text(recvLogFrame, width=50, height=30, takefocus=0,
borderwidth=1, relief='ridge')
#.........这里部分代码省略.........
示例14: CustomerFrame
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class CustomerFrame(Frame):
def __init__(self, master, customers, output_text, refresh):
Frame.__init__(self, master)
self.output_text = output_text
self.refresh = refresh
self.root = master
self.customers = customers
self.name = StringVar() #edit customer
self.names = []
self.ncd = NewCustomerDialog(self.root, self.customers, self.refresh, edit=True)
self.fname = StringVar()
self.lname = StringVar()
self.mname = StringVar()
self.payment = StringVar()
self.date = StringVar()
self.iconname="New Customer"
lf = LabelFrame(self, text="New Customer")
lf.grid(padx=5,pady=5,row=0,column=0,sticky='ew')
### dialog content
Label(lf, text="Name: ").grid(row=0,column=0,sticky='e',padx=(10,0),pady=(10,2))
Label(lf, text="Type: ").grid(row=1,sticky='e',pady=2,padx=(10,0))
Label(lf, text="Date: ").grid(row=1,column=2,sticky='e',ipady=2,padx=(10,0))
self.fname_en = Entry(lf, width=20, textvariable=self.fname)
self.mname_en = Entry(lf, width=4, textvariable=self.mname)
self.lname_en = Entry(lf, width=20, textvariable=self.lname)
self.payment_cb = Combobox(lf, textvariable=self.payment, width=12,
values=("Drop In", "Punch Card", "Monthly", "Inactive"))
self.date_en = Entry(lf, width=15, textvariable=self.date)
self.fname_en.grid(row=0,column=1,sticky='ew',pady=(10,2))
self.mname_en.grid(row=0,column=2,sticky='ew',pady=(10,2))
self.lname_en.grid(row=0,column=3,sticky='ew',padx=(0,10),pady=(10,2))
self.payment_cb.grid(row=1,column=1,sticky='ew')
self.date_en.grid(row=1,column=3,columnspan=2,sticky='ew',padx=(0,10))
### buttons
Button(lf, text='Reset Values', width=15,
command=self.reset_values).grid(row=3,column=0,columnspan=2,sticky='ew',padx=10,pady=(2,10))
Button(lf, text='Submit', width=15,
command=self.add_customer).grid(row=3,column=3,sticky='ew',padx=(0,10),pady=(2,10))
for i in range(4):
lf.columnconfigure(i, weight=1)
# edit customer
lf = LabelFrame(self, text="Edit Customer")
lf.grid(padx=5,pady=5,row=1,column=0,sticky='ew')
Label(lf, text="Name: ").grid(row=0,column=0,sticky='e',pady=10,padx=(10,0))
self.name_cb = Combobox(lf, textvariable=self.name, width=30, values=self.names)
self.name_cb.grid(row=0,column=1,sticky='ew',pady=10)
Button(lf, text="Edit",width=15,command=self.edit).grid(row=0,column=2,sticky='ew',padx=10,pady=10)
for i in range(3):
lf.columnconfigure(i,weight=1)
self.columnconfigure(0,weight=1)
self.fname_en.focus_set() #cursor goes here when frame is created
self.update_names()
self.reset_values() #zero out all values in new customer
def edit(self):
old_name = str(self.name.get())
parsed = old_name.split(' ',2)
(line,row) = self.customers.find(parsed[2],parsed[0],parsed[1])
self.ncd.show(line)
self.refresh() #refresh the global refresh
name = ' '.join([self.ncd.fname.get(),self.ncd.mname.get(),self.ncd.lname.get()])
self.output_text("+ - Modified: " + old_name + ' (' + line[3] + ') -> ' + name + " (" + self.ncd.payment.get() + ")\n")
def update_names(self):
'''
update names in edit Combobox
'''
self.populate_names()
if len(self.names) == 0: self.names = ['']
self.name_cb['values'] = self.names
self.name_cb.current(0)
def populate_names(self):
try:
clist = self.customers.get_list()
except IOError:
self.output_text("! - " + self.customers.filename + " open in another application.\n")
return
clist.sort(key = lambda x: ', '.join(x[0:3]).lower())
self.names = []
for line in clist:
self.names.append(' '.join([line[1],line[2],line[0]]))
def reset_values(self):
self.fname.set('')
self.mname.set('')
self.lname.set('')
#.........这里部分代码省略.........
示例15: ReportsFrame
# 需要导入模块: from ttk import Combobox [as 别名]
# 或者: from ttk.Combobox import current [as 别名]
class ReportsFrame(Frame):
def __init__(self,master,customers,payments,output_text):
Frame.__init__(self,master)
self.customers = customers
self.payments = payments
self.master = master
self.output_text = output_text
self.year_months = find_years_months(getcwd()) # use cwd, this should be set
self.year = StringVar()
self.month = StringVar()
self.years = sorted(self.year_months.keys())
self.months = []
lf = LabelFrame(self, text="Generate Report")
lf.grid(padx=5,pady=5,row=0,column=0,sticky='ew')
Label(lf,text="Year: ").grid(row=0,column=0,sticky='e',padx=(10,0),pady=(10,2))
Label(lf,text="Month: ").grid(row=1,column=0,sticky='e',padx=(10,0),pady=2)
self.year_cb = Combobox(lf,textvariable=self.year,width=12,values=self.years,state='readonly')
self.month_cb = Combobox(lf,textvariable=self.month,width=12,values=self.months,state='readonly')
self.year_cb.grid(row=0,column=1,sticky='w',padx=(0,10),pady=(10,2))
self.month_cb.grid(row=1,column=1,sticky='w',padx=(0,10),pady=2)
btn = Button(lf,text="Save Report",command=self.report,width=30)
btn.grid(row=2,column=0,columnspan=2,sticky='n',pady=(2,10),padx=10)
#configure the grid to expand
self.columnconfigure(0,weight=1)
lf.rowconfigure(0,weight=1)
lf.rowconfigure(1,weight=1)
lf.columnconfigure(0,weight=1)
lf.columnconfigure(1,weight=1)
self.year_cb.bind('<<ComboboxSelected>>',self.year_selected)
self.update() #update the values
def report(self):
'''
generate the report, run by clicking Button
'''
if self.year.get() is '':
self.output_text("! - Please Select a Year")
return
if self.month.get() is '':
self.output_text("! - Please select a Month")
return
year = self.year.get()
inputf = 'jim_data' + year + '.xlsx'
month = self.month.get()
outputf_def = month + year + '_report.xlsx'
outputf = tkFileDialog.asksaveasfilename(parent=self,
defaultextension='.xlsx', initialfile=outputf_def)
if outputf is '': return #file not selected
#output report
month_report(inputf,month,year,outputf,self.customers,self.payments)
self.output_text("* - " + self.month.get() + ' ' + self.year.get() + ' report saved to: ' + outputf + '\n')
# print stat(outputf)
if sys.platform == 'darwin':
system('open ' + outputf + ' &')
else:
system(outputf) # open the file
def update(self):
'''
method for updating values when things change
'''
self.year_months = find_years_months(getcwd()) # use cwd, this should be set
self.years = sorted(self.year_months.keys())
self.months = ['']
if len(self.years) == 0: self.years = ['']
self.year_cb['values'] = self.years
self.month_cb['values'] = self.months
self.month_cb.current(0)
def year_selected(self,event=None):
'''
run when year is year is selected
'''
self.months = self.year_months[self.year.get()]
self.month_cb['values'] = self.months
self.month_cb.current(0)