本文整理汇总了Python中ttk.Button.configure方法的典型用法代码示例。如果您正苦于以下问题:Python Button.configure方法的具体用法?Python Button.configure怎么用?Python Button.configure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ttk.Button
的用法示例。
在下文中一共展示了Button.configure方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_file_browser
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
def add_file_browser(self, f, button_txt, init_txt , r, c, help_txt=''):
b = Button(f,text=button_txt)
b.grid(row=r, column=c, sticky=W+E)
f_var = StringVar()
f_var.set(init_txt)
e = Entry(f, textvariable=f_var)
e.grid(row=r, column=c+1)
b.configure(command=lambda: self.browse_file(f_var, b))
return f_var
示例2: setup_query_segment
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
def setup_query_segment(self):
'''set up SPARQL query segment'''
dct = self.user_input
# dct['out_dir'] = self.button_component('Browse', 'N/A', 0, 0, mode=DISABLED)
sparql_btn = Button(self,text='Execute SPARQL Enrichment')
sparql_btn.grid(row=4, column=0, columnspan=2, sticky=W)
sparql_btn.configure(command=lambda : self.sparql_extraction(sparql_btn))
示例3: setup_launcher
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
def setup_launcher(self):
'''create buttons to execute the job and for default values'''
def_button = Button(self,text='Defaults')
def_button.grid(row=30, column=0, padx=5, pady=5, sticky=W)
def_button.configure(command=self.defaults)
go_button = Button(self,text="Run!")
go_button.grid(row=30, column=1, padx=5, pady=5, sticky=E)
go_button.configure(command=lambda: self.go(go_button))
示例4: button_component
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
def button_component(self, button_txt, init_txt, r, c, help_txt='', mode=NORMAL):
'''adds a button component associated with an entry (the label only activates when help_txt != '')'''
b = Button(self, text=button_txt)
b.grid(row=r, column=c, sticky=W+E)
b.config(state=mode)
dir_var = StringVar()
dir_var.set(init_txt)
Entry(self, textvariable=dir_var).grid(row=r, column=c+1)
Label(self, text=help_txt).grid(row=r, column=c+2, sticky=W)
b.configure(command=lambda: self.browse_dir(dir_var, b))
return dir_var
示例5: Bill
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
class Bill():
"""LOST: Класс, содержащий в себе виджеты списока блюд и ингредиентов,
подлежащих списанию, набора кнопок управления, односящихся к этому
списку."""
def __init__(self, master):
self.frame = Frame(master)
self.frame.pack(side = LEFT)
self.frame_lower_button = Frame(self.frame)
self.frame_lower_button.pack(side=BOTTOM, fill=Y)
#------------------------ Поле под списком --------#7
self.memo = Text(self.frame, height=LOST_COMMENT_HEIGHT,
width = LOST_WIDTH+1, font=('Lucida Console', BILL_FONT_SIZE))
self.memo.pack(side=BOTTOM)
Label(self.frame, text=u'Дополнительный комментарий:',
font=('Lucida Console', FONT_SIZE)).pack(side=BOTTOM, pady=5)
#------------------------ Кнопки слева от списка ---------#
self.frame_left_button = Frame(self.frame)
self.frame_left_button.pack(side=LEFT, fill=Y)
self.button_up = Button(self.frame_left_button,
image=data.IMG_INTERFACE[2], command=self.b_up)
self.button_up.pack(side=TOP, padx=5, pady=10)
self.button_down = Button(self.frame_left_button,
image=data.IMG_INTERFACE[1], command=self.b_down)
self.button_down.pack(side=TOP, padx=5, pady=0)
#------------------------ Собственно список ---------------#
self.scrollbar = Scrollbar(self.frame)
self.listbox = Listbox(self.frame,
yscrollcommand=self.scrollbar.set,
width = LOST_WIDTH, height=LOST_HEIGHT,
activestyle='dotbox',
font=('Lucida Console', BILL_FONT_SIZE))
self.listbox.pack(side=LEFT, fill=BOTH)
self.scrollbar.config(command=self.listbox.yview)
self.scrollbar.pack(side=LEFT, fill=Y)
#------------------------ Кнопки справа от списка --------#
self.frame_right_button = Frame(self.frame)
self.frame_right_button.pack(side=LEFT, fill=Y)
self.button_plus = Button(self.frame_right_button,
image=data.IMG_INTERFACE[6],command=self.b_plus)
self.button_plus.pack(side=TOP, padx=5, pady=2)
self.button_minus = Button(self.frame_right_button,
image=data.IMG_INTERFACE[7],command=self.b_minus)
self.button_minus.pack(side=TOP, padx=5, pady=2)
self.button_info = Button(self.frame_right_button,
image=data.IMG_INTERFACE[9],command=self.b_info)
self.button_info.pack(side=TOP, padx=5, pady=2)
self.button_del = Button(self.frame_right_button,
image=data.IMG_INTERFACE[5],command=self.b_del,
state=DISABLED)
self.button_del.pack(side=TOP, padx=5, pady=25)
#-------------------------- Кнопки снизу от списка ------------№
self.button_clear = Button(self.frame_lower_button,
text=u'Очистить\nсписок',
style='Little.TButton',command=self.b_clear)
self.button_clear.pack(side=LEFT, padx=10, pady=10, fill=X)
self.button_save = Button(self.frame_lower_button,
text=u'Сохранить\nсписок', style='Little.TButton',
command=self.b_save, state=DISABLED)
self.button_save.pack(side=LEFT, padx=10, pady=10, fill=X)
self.button_accept = Button(self.frame_lower_button,
text=u'Провести\nсписание',
style='Little.TButton', command=self.b_accept)
self.button_accept.pack(side=LEFT, padx=10, pady=10, fill=X)
#------------------- Причина списания под списком -----------------#
self.lost_reason_frame = Frame(self.frame_lower_button,
relief=GROOVE, width=LOST_REASON_WIDTH, height=50)
self.lost_reason_frame.pack_propagate(False)
self.lost_reason_frame.pack(side=LEFT, fill=X)
self.lostReasonsMenu = Menubutton(self.lost_reason_frame,
text=u'Причина: ----',
direction='below',style='TMenubutton')
self.lostReasonsMenu.pack(fill=X, pady=5, padx=5)
self.lostReasonsMenu.update() #Подгонка по высоте
self.lost_reason_frame.configure(
height=self.lostReasonsMenu.winfo_height() + 10)
self.lostReasonsMenu.menu = Menu(self.lostReasonsMenu, tearoff=0)
self.lostReasonsMenu['menu'] = self.lostReasonsMenu.menu
for item in queries.lost_reasons_list():
self.lostReasonsMenu.menu.add_command(label=item.reason,
font=('Verdana', FONT_SIZE_MENU),
command=lambda key=item.id: self.reason_change(key))
# Текущая скидка.
if queries.lost_reasons_list():
self.reason = queries.lost_reasons_list()[0]
self.lostReasonsMenu.configure(text=u'Причина: %s' %
self.reason.reason)
else:
self.reason = None
self.bill = [] # Содержание текущего списка (Wasted)
#-----------------------------------------------------------
def verify_calc(self, item, item_quantity):
"""Подсобная функция для работы функции verify(). Проверяет наличие
на складе ингредиентов, входящих в сложный товар на момент списания.
Возвращает True или False в зависимости от наличия необходиомого
#.........这里部分代码省略.........
示例6: Bill
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
#.........这里部分代码省略.........
необходиомого количества товара на складе для продажи."""
all_present = True
for item, item_quantity in zip(self.bill, self.quantity):
if item.calculation:
if not self.verify_calc(item, item_quantity):
all_present = False
else:
quantity = int(queries.items_in_storage(item))
if quantity < item_quantity:
if tkMessageBox.askyesno(u'Внимание!',
u'Вы пытаетесь продать %d единицы товара "%s".' %
(item_quantity, item.name) +
u'\nНа складе имеется всего %d единицы!' % quantity +
u'\nВыполнить мгновенную поставку товара?'):
incoming = panel()
if not queries.execute_incoming_express(item,
incoming) or (item_quantity > incoming + quantity):
all_present = False
else:
all_present = False
return all_present
def discount_change(self, key):
"""Меняет текущую скидку."""
self.discountMenu.configure(text=u'Скидка %2s' %
str(queries.get_discount_by_id(key).discount) + '%')
self.discount = queries.get_discount_by_id(key).discount
self.itogo()
def itogo(self):
"""Обсчитывает итоговую сумму счета, применяет скидку и выводит
в соответствующую метку под счетом."""
summ = 0
for item, quantity in zip(self.bill, self.quantity):
if queries.price_is_sales(item):
summ += quantity * queries.item_price(item)
else:
summ += quantity * queries.item_price(item) * (100 -
self.discount) / 100
summ = round(summ, 2)
self.label1.configure(text='Итого:%8s грн.' % ('%5.2f' % summ))
return summ
def make_list_string (self, eat, quantity):
"""Вспомогательная функция создания строки для счета"""
if queries.price_is_sales(eat):
str_1 = u'*'
else:
str_1 = u' '
string = str_1 + u'%-' + unicode(BILL_WIDTH - 36) + \
u's %2d %6.2f грн. %6.2f грн.'
string = string % (eat.name, quantity, queries.item_price(eat),
示例7: Bill
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
class Bill():
"""VERIFY: Класс, содержащий в себе виджеты списока товаров,
ингредиентов, подлежащих сверке, набора кнопок управления,
односящихся к этому списку."""
def __init__(self, master):
self.frame = Frame(master)
self.frame.pack(side = LEFT)
self.frame_lower_button = Frame(self.frame)
self.frame_lower_button.pack(side=BOTTOM, fill=Y)
#------------------------ Поле под списком --------#7
self.memo = Text(self.frame, height=VERIFY_COMMENT_HEIGHT,
width = VERIFY_WIDTH+1, font=('Lucida Console', BILL_FONT_SIZE))
self.memo.pack(side=BOTTOM)
Label(self.frame, text=u'Комментарий к инвентаризации:',
font=('Lucida Console', FONT_SIZE)).pack(side=BOTTOM, pady=5)
#------------------------ Кнопки слева от списка ---------#
self.frame_left_button = Frame(self.frame)
self.frame_left_button.pack(side=LEFT, fill=Y)
self.button_up = Button(self.frame_left_button,
image=data.IMG_INTERFACE[2], command=self.b_up)
self.button_up.pack(side=TOP, padx=5, pady=10)
self.button_down = Button(self.frame_left_button,
image=data.IMG_INTERFACE[1], command=self.b_down)
self.button_down.pack(side=TOP, padx=5, pady=0)
#------------------------ Собственно список ---------------#
self.scrollbar = Scrollbar(self.frame)
self.listbox = Listbox(self.frame,
yscrollcommand=self.scrollbar.set,
width = VERIFY_WIDTH, height=VERIFY_HEIGHT,
activestyle='dotbox',
font=('Lucida Console', BILL_FONT_SIZE))
self.listbox.pack(side=LEFT, fill=BOTH)
self.scrollbar.config(command=self.listbox.yview)
self.scrollbar.pack(side=LEFT, fill=Y)
#------------------------ Кнопки справа от списка --------#
self.frame_right_button = Frame(self.frame)
self.frame_right_button.pack(side=LEFT, fill=Y)
self.button_plus = Button(self.frame_right_button,
image=data.IMG_INTERFACE[6],command=self.b_plus)
self.button_plus.pack(side=TOP, padx=5, pady=2)
self.button_minus = Button(self.frame_right_button,
image=data.IMG_INTERFACE[7],command=self.b_minus)
self.button_minus.pack(side=TOP, padx=5, pady=2)
self.button_del = Button(self.frame_right_button,
image=data.IMG_INTERFACE[5],command=self.b_del,
state=DISABLED)
self.button_del.pack(side=TOP, padx=5, pady=25)
#-------------------------- Кнопки снизу от списка ------------№
self.button_clear = Button(self.frame_lower_button,
text=u'Очистить\nсписок',
style='Little.TButton',command=self.b_clear)
self.button_clear.pack(side=LEFT, padx=10, pady=10, fill=X)
self.button_verify = Button(self.frame_lower_button,
text=u'Сверить\nсписок',
style='Little.TButton',
command=self.b_verify)
self.button_verify.pack(side=LEFT, padx=10, pady=10, fill=X)
self.button_accept = Button(self.frame_lower_button,
text=u'Провести\n инвентаризацию ',
style='Little.TButton', command=self.b_accept)
self.button_accept.pack(side=LEFT, padx=10, pady=10, fill=X)
self.bill = [] # Содержание текущего Списка (товар)
self.quantity = [] # Содержание списка (количество товара)
def make_list_string(self, item, quantity):
"""Вспомогательная функция создания строки списка инветаризации"""
storage_quantity = queries.items_in_storage(item)
if quantity == int(storage_quantity):
color = 'black'
string = u' %-' + unicode(VERIFY_WIDTH - 30) + u's %8d %3s'
string = string % (item.name, quantity, item.measure)
elif quantity > int(storage_quantity):
color = '#008800'
string = u' %-' + unicode(VERIFY_WIDTH -
30) + u's %8d %3s (%s %3s)'
string = string % (item.name, quantity, item.measure,
storage_quantity, item.measure)
else:
color = 'red'
string = u' %-' + unicode(VERIFY_WIDTH -
30) + u's %8d %3s (%s %3s)'
string = string % (item.name, quantity, item.measure,
storage_quantity, item.measure)
return string, color
def add_eat(self, eat, number):
"""Добавляет товар в текущий список. Изменяет как отображение в
списке виджета, так и данные в self.bill"""
self.button_del.configure(state=NORMAL)
#.........这里部分代码省略.........
示例8: Example
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Windows")
self.pack(fill=BOTH, expand=True)
self.columnconfigure(1, weight=1)
self.columnconfigure(3, pad=7)
self.rowconfigure(3, weight=1)
self.rowconfigure(5, pad=7)
#check button variable
self.testMode_check_button = IntVar()
self.collectionMode_check_button = IntVar()
self.isOldCoordinateFile= IntVar()
#entry string variable
self.entry_1_string = StringVar()
self.entry_2_string = StringVar()
self.entry_3_string = StringVar()
self.entry_4_string = StringVar()
self.entry_5_string = StringVar()
self.entry_6_string = StringVar()
self.entry_7_string = StringVar()
self.entry_1_string.set("database12.xls")
self.entry_2_string.set("coeffnmean12.xls")
self.entry_3_string.set(".xls")
self.entry_4_string.set(".xls")
self.saveFileName= StringVar()
self.saveCoordinateFileName = StringVar()
# database array
self.radiusArray =[]
self.xavgArray=[]
self.yavgArray=[]
self.coeffIndexArray=[]
# coefficient array
self.coeffArray=[]
self.meanRGBArray=[]
self.VarCoeffArray=[]
self.adjustmentRGBArray=np.zeros(shape=(1,3))
self.referenceRGBArray=np.zeros(shape=(1,3))
# num Of Area
self.numberOfArea=IntVar()
# num of Sec
self.numberOfSec= IntVar()
# flag of the camera action
self.stopCameraPreview=BooleanVar()
self.stopCameraClipAndCrop= BooleanVar()
self.stopCameraExperiment = BooleanVar()
#init the flag
self.stopCameraPreview.set(FALSE)
self.stopCameraClipAndCrop.set(FALSE)
self.stopCameraExperiment.set(FALSE)
# image variable
self.cropImage =[]
#clip and clop
self.refPt=[]
self.cropping=[]
self.cropNumber=IntVar()
self.selectAreaArray=[]
#Step 1
lbl1 = Label(self, text="Step 1: Input file name ")
lbl1.grid(sticky=W, pady=4, padx=5)
#check button
self.checkbutton0 = Checkbutton(self,text="Test mode (no database, coefficient, coordinate, save file)"
,variable=self.testMode_check_button,command=self.testMode)
self.checkbutton0.grid(row=1,columnspan = 3, sticky=W,pady=3,padx=5)
self.checkbutton1 = Checkbutton(self,text="Collection data mode (no database, coefficient)"
,variable=self.collectionMode_check_button,command=self.collecitonMode)
self.checkbutton1.grid(row=2,columnspan = 3,sticky=W,pady=3,padx=5)
#input database xls file name
#.........这里部分代码省略.........
示例9: Mainframe
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
#.........这里部分代码省略.........
if self.pause_changed:
print "paused flag"
self.player.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, (self.var.get()-1)*(10**9))
self.prev = self.var.get()-1
self.var.set(self.prev)
self.pause_changed = 0
if (self.prev-self.var.get()) != -1:
#print self.var.get()-val
self.player.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, self.var.get()*(10**9))
self.prev = self.var.get()
else:
self.prev = self.var.get()
self.job = self.after(1000, self.sel_play)
def play_video(self):
if self.play["text"] == "Play":
self.player.set_state(gst.STATE_PLAYING)
self.play["text"] = "Pause"
self.sel_play()
else:
self.pause_changed = 1
self.player.set_state(gst.STATE_PAUSED)
self.play["text"] = "Play"
self.after_cancel(self.job)
while self.duration == 0:
time.sleep(.1)
try:
self.duration = self.player.query_duration(gst.FORMAT_TIME, None)[0]
except:
pass
#print self.duration/1000000000.0
self.slider.configure(from_=0, to=self.duration/1000000000)
def play_back(self):
pos_int = self.player.query_position(gst.FORMAT_TIME, None)[0]
text = self.entry.get()
diff = 0
if text=="":
diff = pos_int - (3*(10**9))
else:
val = float(self.entry.get())
diff = pos_int - (val*(10**9))
#print pos_int
#print diff/(10**9)
if diff>0:
self.player.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, diff)
print self.var.get() - (diff/10**9)
self.var.set(diff/10**9)
else:
self.player.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, 0)
self.var.set(0)
if self.play["text"] == "Play":
print "here"
timestamp = self.player.query_position(gst.FORMAT_TIME, None)[0]
print timestamp
self.display.mark_set("mine2", "1.%d" % floor(timestamp/1000000000.0/.2))
self.display.see("1.%d" % (floor(timestamp/1000000000.0/.2)+8))
self.display.see("mine2")
def play_forward(self):
pos_int = self.player.query_position(gst.FORMAT_TIME, None)[0]
text = self.entry.get()
diff = 0
if text=="":
diff = pos_int + (3*(10**9))
示例10: initUI
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
def initUI(self):
self.parent.title("Mohr Circle Construction")
self.pack(fill=BOTH, expand=1)
canvas = Canvas(self)
self.canvas = canvas
## Input area
self.show_stress = IntVar()
show_stress_check = Checkbutton(self, text = "Show stress", variable = self.show_stress, command = self.showStress)
show_stress_check_window = canvas.create_window(100, 420, window=show_stress_check)
reset_rotation = Button(self, text = "Reset rotation", command = self.resetRotation)
reset_rotation.configure(width = 15, background = "#c0c0c0")
reset_rotation_window = canvas.create_window(325, 420, window=reset_rotation)
self.sigma_x_val = StringVar()
self.sigma_y_val = StringVar()
self.tau_xy_val = StringVar()
self.theta_val = StringVar()
sigma_x = Entry(textvariable=self.sigma_x_val)
sigma_y = Entry(textvariable=self.sigma_y_val)
tau_xy = Entry(textvariable=self.tau_xy_val)
theta = Entry(textvariable=self.theta_val)
sigma_x_window = canvas.create_window(125, 480, window=sigma_x)
sigma_y_window = canvas.create_window(125, 510, window=sigma_y)
tau_xy_window = canvas.create_window(125, 540, window=tau_xy)
theta_window = canvas.create_window(125, 570, window=theta)
canvas.create_text(30, 480, anchor=W, text=u"\u03c3")
canvas.create_text(37, 485, anchor=W, text="x")
canvas.create_text(30, 510, anchor=W, text=u"\u03c3")
canvas.create_text(37, 515, anchor=W, text="y")
canvas.create_text(30, 540, anchor=W, text=u"\u03c4")
canvas.create_text(37, 545, anchor=W, text="xy")
canvas.create_text(30, 570, anchor=W, text=u"\u03b8")
calculate = Button(self, text = "Calculate", command = self.calculate)
calculate.configure(width = 15, background = "#c0c0c0")
calculate_window = canvas.create_window(325, 480, window=calculate)
self.sigma_x_prime_val = StringVar()
sigma_x_prime = Entry(textvariable=self.sigma_x_prime_val)
sigma_x_prime_window = canvas.create_window(325, 510, window=sigma_x_prime)
canvas.create_text(230, 510, anchor=W, text=u"\u03c3")
canvas.create_text(237, 515, anchor=W, text="x'")
self.sigma_y_prime_val = StringVar()
sigma_y_prime = Entry(textvariable=self.sigma_y_prime_val)
sigma_y_prime_window = canvas.create_window(325, 540, window=sigma_y_prime)
canvas.create_text(230, 540, anchor=W, text=u"\u03c3")
canvas.create_text(237, 545, anchor=W, text="y'")
self.tau_xy_prime_val = StringVar()
tau_xy_prime = Entry(textvariable=self.tau_xy_prime_val)
tau_xy_prime_window = canvas.create_window(325, 570, window=tau_xy_prime)
canvas.create_text(230, 570, anchor=W, text=u"\u03c4")
canvas.create_text(237, 575, anchor=W, text="x'y'")
canvas.create_text(75, 450, anchor=W, text="Definition of stress")
## Stress square graph
self.square = canvas.create_rectangle(120,100,320,300)
self.rotated = False
self.lines = [None, None, None, None, None, None, None, None]
## Mohr Circle graph
self.graph = Canvas(self)
self.graph.config(width = 418, height = 418, bg = "#fff", highlightbackground = "#fff", relief = GROOVE, bd = 3)
self.graph.yaxis = self.graph.create_line(210, 420, 210, 0)
self.graph.xaxis = self.graph.create_line(-1000, 210, 1010, 210)
self.mohr = None
self.pline = None
self.pointtext = None
graph_window = canvas.create_window(448, 23, window = self.graph, anchor = NW)
self.graph.scale = 1
## Operation of Mohr's circle
self.show_principal_stress = IntVar()
show_principal_stress_check = Checkbutton(self, text = "Show principal stress", variable = self.show_principal_stress, command = self.showPrincipalStress)
show_principal_stress_check_window = canvas.create_window(550, 510, window=show_principal_stress_check)
left = Button(self, text = "Left", command = self.left)
left.configure(width = 10, background = "#c0c0c0")
left_window = canvas.create_window(490, 480, window=left)
zoomin = Button(self, text = "Zoom in", command = self.zoomin)
zoomin.configure(width = 10, background = "#c0c0c0")
zoomin_window = canvas.create_window(575, 480, window=zoomin)
zoomout = Button(self, text = "Zoom out", command = self.zoomout)
zoomout.configure(width = 10, background = "#c0c0c0")
zoomout_window = canvas.create_window(660, 480, window=zoomout)
right = Button(self, text = "Right", command = self.right)
right.configure(width = 10, background = "#c0c0c0")
right_window = canvas.create_window(745, 480, window=right)
reset = Button(self, text = "Reset", command = self.original)
reset.configure(width = 10, background = "#c0c0c0")
reset_window = canvas.create_window(830, 480, window=reset)
#.........这里部分代码省略.........
示例11: IniGenGui
# 需要导入模块: from ttk import Button [as 别名]
# 或者: from ttk.Button import configure [as 别名]
class IniGenGui(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.inigen = IniGen()
self.initUIGlobals()
def initUIGlobals(self):
"""
This is the first part of the window to be rendered. After these have been
set by the user and 'Emit Globals' has been clicked, the given algorithm
can then specify how to generate the second part of the window. All fields
are disabled for user input after globals have been emitted.
Information in Global Parameters:
Algorithm
- name of the algorithm to use
File Name
- name of the output file to be generated
Min Time
- Minimum Time for distillers to run
Max Time
- Maximum Time for distillers to run
Set Enabled:
- checkbox to specify if the distiller should be enabled True or False
"""
self.parent.title("Ini Generator")
Style().configure("TButton", padding=(0, 5, 0, 5), font='serif 10')
# initialize row counter. This is incremented after each element added to grid
row = 0
# initialize column counter. This is incremented after a column has been filled
self.column = 0
# Globals: entries for info common to all runs
label_globals = Label(self, text="Globals")
label_globals.grid(row=row, column=self.column)
row += 1
label_alg = Label(self, text="Algorithm")
label_alg.grid(row=row, column=self.column, sticky=E+W)
row += 1
self.cbox_alg = Combobox(self, values=algorithms.keys(), state='readonly')
self.cbox_alg.current(0)
self.cbox_alg.grid(row=row, column=self.column, sticky=E+W+S+N)
row += 1
label_filename = Label(self, text="Output File Name")
label_filename.grid(row=row, column=self.column, sticky=E+W)
row += 1
self.entry_filename = Entry(self)
self.entry_filename.grid(row=row, column=self.column, sticky=W+E)
row += 1
label_mintime = Label(self, text="Min Time")
label_mintime.grid(row=row, column=self.column, sticky=E+W)
row += 1
self.entry_mintime = Entry(self)
self.entry_mintime.grid(row=row, column=self.column, sticky=W+E)
row += 1
label_maxtime = Label(self, text="Max Time")
label_maxtime.grid(row=row, column=self.column, sticky=W+E)
row += 1
self.entry_maxtime = Entry(self)
self.entry_maxtime.grid(row=row, column=self.column, sticky=W+E)
row += 1
self.enabled = IntVar()
self.check_enabled = Checkbutton(self, text="set enabled", variable=self.enabled)
self.check_enabled.grid(row=row, column=self.column, sticky=W+E)
row += 1
# Control: buttons used to emmiting text and generating file
self.button_emit_globals = Button(self, text="Emit Globals", command=self.emit_globals)
self.button_emit_globals.grid(row=row, column=self.column, sticky=W+E)
row += 1
button_addrun = Button(self, text="Add Run", command=self.emit_run)
button_addrun.grid(row=row, column=self.column, sticky=W+E)
row += 1
button_generate = Button(self, text="Generate File", command=self.generate_file)
button_generate.grid(row=row, column=self.column, sticky=W+E)
row += 1
self.column += 1
self.pack()
def initUIRuns(self):
"""
Second part of gui to be rendered. This contains all the fields needed to emit
a single run within a distiller file. Multiple runs can be added by clicking
'Add Run' multiple times.
Information in Run Parameters:
#.........这里部分代码省略.........