本文整理汇总了Python中ttk.Treeview.delete方法的典型用法代码示例。如果您正苦于以下问题:Python Treeview.delete方法的具体用法?Python Treeview.delete怎么用?Python Treeview.delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ttk.Treeview
的用法示例。
在下文中一共展示了Treeview.delete方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class Display:
def __init__(self, controller):
self.controller = controller
self.currIndex = 0
# initialize the GUI
self.app = Tk()
self.app.title('Jack Magee\'s Pub')
self.tree = Treeview(self.app, height=30)
# name the tree columns, not sure if they have to be named numbers but that's how the example did it
self.tree["columns"]=("one", "two", "three", "four")
# set the column widths
self.tree.column("one", width=200)
self.tree.column("two", width=300)
self.tree.column("three", width=200)
self.tree.column("four", width=200)
# set the column headings
self.tree.heading("#0", text= "ID")
self.tree.heading("one", text="Name")
self.tree.heading("two", text="Order")
self.tree.heading("three", text="Price")
self.tree.heading("four", text="Respond (double-click)")
self.tree.pack()
# register handler for double-clicks
self.tree.bind("<Double-1>", self.OnDoubleClick)
def mainloop(self):
self.app.mainloop()
# this is like making tree entries buttons
def OnDoubleClick(self, event):
# get the pressed item
item = self.tree.selection()[0]
# get the item's text
response = self.tree.item(item,"text")
# this is the only response we are sending for now
if response == 'rdy':
# get the parent directory whose text is the customer id
parent = self.tree.parent(item)
customer_id = self.tree.item(parent,"text")
# remove it from the tree
self.tree.delete(parent)
# send the message to the customer
self.controller.send_msg(customer_id, response)
# add a new order to the tree
def takeOrder(self, customer_id, name, order, price):
# just a row identifier
thisRow = str(self.currIndex)
# insert the i.d. and name at the top level
self.tree.insert("", self.currIndex, thisRow, text=customer_id, values=(name, "", "", ""))
# insert the "button" for sending notification to clients
self.tree.insert(thisRow, 0, text='rdy', values=("", "", "", "Ready For Pick Up"))
# this is a hacky solution to get multiline orders to appear because treeviews will
# crop anything more than 1 line so I just make a new entry for every line
multiline_order = order.split('\n')
this_line = 1
for line in multiline_order[:-1]: # exclude the last end line
if this_line == 1: # the first line has the name of the order and it's price
self.tree.insert(thisRow, 1, text="order",values=("", order, price, ""))
else: # just keep printing the extra options, sides, and add ons
self.tree.insert(thisRow, this_line, text="order",values=("", line, "", ""))
this_line += 1
self.currIndex += 1
示例2: WaitingRoom
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
#.........这里部分代码省略.........
# Grid all the widgets
self.tree.grid(row = 0, column = 0, rowspan = 9, sticky = (N,S,E,W))
namelbl.grid(row = 0, column = 1, columnspan = 2, sticky = (N,W), padx = 5)
self.nameentry.grid(row = 1, column = 1, columnspan = 2, sticky = (N,E,W), pady = 5, padx = 5)
colorlbl.grid(row = 0, column = 3, columnspan = 1, sticky = (N,W), padx = 5)
self.colorframe.grid(row = 1, column = 3, columnspan = 1, sticky = (N,E,W), pady = 5, padx = 5)
#testbtn.grid(row = 3, column = 3, columnspan = 1, sticky = E, padx = 5) #Test Button
self.log.grid(row = 5, column = 1, columnspan = 3, sticky = (N,S,E,W), padx = 5, pady = 5) #Listbox with all messages
self.chatentry.grid(row = 6, column = 1, columnspan = 2, sticky = (N,E), padx = 5, pady = 5)
self.chatAll.grid(row = 6, column = 3, columnspan = 1, sticky = (N,E), padx = 5, pady = 5)
ready.grid(row = 7, column = 1, sticky = (W,S), padx = 5, pady = 5) #
solitaire.grid(row = 7, column = 2, sticky = (W,S), padx = 5, pady = 5)
quit.grid(row = 7, column = 3, sticky = (W,S), padx = 5, pady = 5)
status.grid(row = 9, column = 0, columnspan = 2, sticky = (W,E))
"""Configure content Frame and color Frame"""
content.grid_columnconfigure(0, weight = 1)
content.grid_rowconfigure(5, weight = 1)
h = self.nameentry.winfo_reqheight()
self.colorframe.configure(height = h, bg = 'red')
"""Set event bindings"""
self.tree.bind('<<TreeviewSelect>>', showstatus)
self.nameentry.bind('<Return>', (lambda _: self.askChangeName(self.nameentry)))
self.nameentry.bind('<FocusOut>', (lambda _: self.askChangeName(self.nameentry)))
cfg.wroom.bind('<Control-Key-w>', self.quitWaitingRoom)
cfg.wroom.bind('<Control-Key-q>', self.quitWaitingRoom)
cfg.wroom.bind('<Control-Key-r>', self.toggleReadyForGame)
cfg.wroom.bind('<Control-Key-s>', self.solitaire)
self.chatentry.bind("<Return>",self.chatToAll)
def chatEntryActive(e = None):
self.chatentry.config(foreground = 'black')
self.chatentry.delete(0, 'end')
def chatEntryInactive(e = None):
print(self)
chatentry_sv.set("Press enter to chat")
self.chatentry.config(foreground = 'gray')
self.chatentry.bind("<FocusIn>", lambda e: chatEntryActive(e))
self.chatentry.bind("<FocusOut>", lambda e: chatEntryInactive(e))
self.colorframe.bind("<ButtonRelease-1>", self.changeColor)
"""Set tooltips on widgets"""
hover.createToolTip(namelbl, "Type in your name")
hover.createToolTip(self.nameentry, "Type in your name")
hover.createToolTip(ready, "Toggle ready state to play tantrix with other players")
hover.createToolTip(solitaire, "Start a two player game on this computer")
hover.createToolTip(quit, "Quit Tantrix")
hover.createToolTip(self.chatentry, "Press enter to send to chat")
hover.createToolTip(self.chatAll, "Press enter to send to chat")
hover.createToolTip(self.colorframe, "Click to select your color")
hover.createToolTip(colorlbl, "Your color")
"""Set the starting state of the interface"""
statusmsg_sv.set('')
showstatus()
"""Start main loop for tkinter and Sixpodnet"""
self.keepLooping = True
if self.pumpit:
self.mainLoopWithPump()
else:
self.mainLoopWithoutPump()
return self.quit
def test(self):
示例3: Multicolumn_Listbox
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class Multicolumn_Listbox(object):
_style_index = 0
class List_Of_Rows(object):
def __init__(self, multicolumn_listbox):
self._multicolumn_listbox = multicolumn_listbox
def data(self, index):
return self._multicolumn_listbox.row_data(index)
def get(self, index):
return Row(self._multicolumn_listbox, index)
def insert(self, data, index=None):
self._multicolumn_listbox.insert_row(data, index)
def delete(self, index):
self._multicolumn_listbox.delete_row(index)
def update(self, index, data):
self._multicolumn_listbox.update_row(index, data)
def select(self, index):
self._multicolumn_listbox.select_row(index)
def deselect(self, index):
self._multicolumn_listbox.deselect_row(index)
def set_selection(self, indices):
self._multicolumn_listbox.set_selection(indices)
def __getitem__(self, index):
return self.get(index)
def __setitem__(self, index, value):
return self._multicolumn_listbox.update_row(index, value)
def __delitem__(self, index):
self._multicolumn_listbox.delete_row(index)
def __len__(self):
return self._multicolumn_listbox.number_of_rows
class List_Of_Columns(object):
def __init__(self, multicolumn_listbox):
self._multicolumn_listbox = multicolumn_listbox
def data(self, index):
return self._multicolumn_listbox.get_column(index)
def get(self, index):
return Column(self._multicolumn_listbox, index)
def delete(self, index):
self._multicolumn_listbox.delete_column(index)
def update(self, index, data):
self._multicolumn_listbox.update_column(index, data)
def __getitem__(self, index):
return self.get(index)
def __setitem__(self, index, value):
return self._multicolumn_listbox.update_column(index, value)
def __delitem__(self, index):
self._multicolumn_listbox.delete_column(index)
def __len__(self):
return self._multicolumn_listbox.number_of_columns
def __init__(self, master, columns, data=None, command=None, sort=True, select_mode=None, heading_anchor = CENTER, cell_anchor=W, style=None, height=None, padding=None, adjust_heading_to_content=False, stripped_rows=None, selection_background=None, selection_foreground=None, field_background=None, heading_font= None, heading_background=None, heading_foreground=None, cell_pady=2, cell_background=None, cell_foreground=None, cell_font=None, headers=True):
self._stripped_rows = stripped_rows
self._columns = columns
self._number_of_rows = 0
self._number_of_columns = len(columns)
self.row = self.List_Of_Rows(self)
self.column = self.List_Of_Columns(self)
s = Style()
if style is None:
style_name = "Multicolumn_Listbox%s.Treeview"%self._style_index
self._style_index += 1
else:
style_name = style
style_map = {}
if selection_background is not None:
style_map["background"] = [('selected', selection_background)]
if selection_foreground is not None:
style_map["foeground"] = [('selected', selection_foreground)]
if style_map:
s.map(style_name, **style_map)
#.........这里部分代码省略.........
示例4: GUIBuscador
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class GUIBuscador(Tk):
def __init__(self, master = None):
Tk.__init__(self, master)
self.gui(master)
self.dir = 'D:\Talker\Talker\Biblia'
self.direc = glob("%s\*" % self.dir)
def gui(self, master):
self.frm = Frame(master)
self.frm.pack(side = LEFT, expand = YES, fill = BOTH)
self.left_side(self.frm)
self.frm = Frame(master)
self.frm.pack(side = RIGHT, expand = YES, fill = BOTH)
self.right_side(self.frm)
def left_side(self, master):
self.nombre = Entry(master, justify = CENTER, bd = 3, font = ('Ravie', 11), textvariable = self.NameVar)
self.nombre.pack(side = TOP, fill = X)
self.nombre.bind("<Key>", self.Enter)
self.texto = Entry(master, justify = CENTER, bd = 3, font = ('Ravie', 11), textvariable = self.TextVar)
self.texto.pack(side = TOP, fill = X)
self.texto.bind("<Key>", self.Enter)
self.tag = Entry(master, justify = CENTER, bd = 3, font = ('Ravie', 11), textvariable = self.TagsVar)
self.tag.pack(side = TOP, fill = X)
self.tag.bind("<Key>", self.Enter)
self.tree = Treeview(master)
self.tree.pack(side = LEFT, expand = YES, fill = BOTH)
self.tree.bind("<Double-1>", self.OnDoubleClick)
def right_side(self, master):
self.text = Text(master, bg = 'skyblue', bd = 5,
font = ('consolas', 12), fg = 'red')
self.text.pack(expand = YES, side = LEFT, fill = BOTH)
self.yscroller = Scrollbar(master, command = self.text.yview)
self.yscroller.pack(side = RIGHT, fill = Y)
self.text['yscrollcommand'] = self.yscroller
def OnDoubleClick(self, tree):
try:
item = self.tree.selection()[0]
self.tree.item.open(item)
except IndexError:
pass
def Enter(self, event):
if event.char == ord(13):
self.buscar()
def buscar(self):
name = NameVar.get()
text = TextVar().get()
etiqueta = TagsVar.get().split(',')
self.aciertos = []
for carpeta in self.direc:
root = tree.insert("", 1, name[-3], text = name[-3])
self.aciertos = []
for versiculo in glob("%s\*" % carpeta):
with open(versiculo, 'r') as nota:
texto = nota.readlines()
etiquetas = texto[-1].split(',')
if name != '':
versiculo = versiculo.replace(".txt", "")
if re.search('%s' % name, versiculo):
pass
else:
continue
if etiqueta != []:
for i in etiquetas:
if i in etiqueta:
break
else:
continue
if text != '':
for line in texto:
if re.search(r'%s' % text, line):
break
else:
continue
tree.insert(raiz, "end", name, text = name[-1])
self.aciertos.append(versiculo)
if self.aciertos == []:
self.tree.delete(root)
示例5: XML_Viwer
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class XML_Viwer(Frame):
def __init__(self, master, xml=None, heading_text=None, heading_anchor=None, padding=None, cursor=None, takefocus=None, style=None):
Frame.__init__(self, master, class_="XML_Viwer")
self._vsb = Scrollbar(self, orient=VERTICAL)
self._hsb = Scrollbar(self, orient=HORIZONTAL)
kwargs = {}
kwargs["yscrollcommand"] = lambda f, l: autoscroll(self._vsb, f, l)
kwargs["xscrollcommand"] = lambda f, l: autoscroll(self._hsb, f, l)
if style is not None:
kwargs["style"] = style
if padding is not None:
kwargs["padding"] = padding
if cursor is not None:
kwargs["cursor"] = cursor
if takefocus is not None:
kwargs["takefocus"] = takefocus
self._treeview = Treeview(self, **kwargs)
if heading_text is not None:
if heading_anchor is not None:
self._treeview.heading("#0", text=heading_text, anchor=heading_anchor)
else:
self._treeview.heading("#0", text=heading_text)
self._treeview.bind("<<TreeviewOpen>>", self._on_open)
self._treeview.bind("<<TreeviewClose>>", self._on_close)
# Without this line, horizontal scrolling doesn't work properly.
self._treeview.column("#0", stretch= False)
self._vsb['command'] = self._treeview.yview
self._hsb['command'] = self._treeview.xview
self._treeview.grid(column=0, row=0, sticky=N+S+W+E)
self._vsb.grid(column=1, row=0, sticky=N+S)
self._hsb.grid(column=0, row=1, sticky=E+W)
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
self._element_tree = None
self._item_ID_to_element = {}
if xml is not None:
self.parse_xml(xml)
def _on_open(self, event):
item_ID = self._treeview.focus()
if item_ID not in self._item_ID_to_element: return
node = self._item_ID_to_element[item_ID]
self._treeview.item(item_ID, text = self._repr_of_openning_tag(node))
def _on_close(self, event):
item_ID = self._treeview.focus()
if item_ID not in self._item_ID_to_element: return
node = self._item_ID_to_element[item_ID]
text = self._repr_of_openning_tag(node) + self._repr_of_closing_tag(node)
self._treeview.item(item_ID, text = text)
def parse_xml(self, xml):
self._element_tree = ET.ElementTree(ET.fromstring(xml))
self.clear()
self._walk_xml(self._element_tree.getroot())
@property
def element_tree(self):
return self._element_tree
@element_tree.setter
def element_tree(self, element_tree):
self._element_tree = element_tree
self.clear()
self._walk_xml(element_tree.getroot())
def clear(self):
self._item_ID_to_element = {}
self._treeview.delete(*self._treeview.get_children())
def _repr_of_openning_tag(self, node):
text = "<" + node.tag
attrs = node.attrib
# list function is here necessary to provide support to Python 3
a_names = list(attrs.keys())
a_names.sort()
#.........这里部分代码省略.........
示例6: CommSearch
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class CommSearch(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.entries_found = []
self.parent.title("Search your command cards")
self.style = Style()
self.style.theme_use("default")
self.pack()
self.input_title = Label(self, text="Enter your command below")
self.input_title.grid(row=0, columnspan=2)
self.input_box = Entry(self, width=90)
self.input_box.grid(row=1, column=0)
self.input_box.focus()
self.input_box.bind("<Key>", self.onUpdateSearch)
self.search_btn = Button(self, text="Search", command=self.onSearch)
self.search_btn.grid(row=1, column=1)
self.output_box = Treeview(self, columns=("Example"))
ysb = Scrollbar(self, orient='vertical', command=self.output_box.yview)
xsb = Scrollbar(self, orient='horizontal', command=self.output_box.xview)
self.output_box.configure(yscroll=ysb.set, xscroll=xsb.set)
self.output_box.heading('Example', text='Example', anchor='w')
self.output_box.column("#0",minwidth=0,width=0, stretch=NO)
self.output_box.column("Example",minwidth=0,width=785)
self.output_box.bind("<Button-1>", self.OnEntryClick)
self.output_box.grid(row=3, columnspan=2)
self.selected_box = Text(self, width=110, height=19)
self.selected_box.grid(row=4, columnspan=2)
self.gotoadd_btn = Button(self, text="Go to Add", command=self.onGoToAdd)
self.gotoadd_btn.grid(row=5)
def OnEntryClick(self, event):
try:
item = self.output_box.selection()[0]
except IndexError:
pass
entry_title = self.output_box.item(item,"value")
for item in self.entries_found:
if str(entry_title) == str("('" + item.title.strip('\n') + "',)"):
self.selected_box.delete(0.1, END)
self.selected_box.insert(END, item.text + '\n')
def onUpdateSearch(self, key):
# Somehow calling self.onSearch() does not register last key
# And we need to correct "special chars"
global entries, entries_map
text_entries = ""
for item in self.output_box.get_children():
self.output_box.delete(item)
# ...like, for instance, deleting last character
if key.char == '\b':
search_terms = str(self.input_box.get()[:-1])
else:
search_terms = str(self.input_box.get() + key.char)
self.entries_found = []
self.entries_found = data.Search(search_terms,entries,entries_map)
for item in range(len(self.entries_found)):
aux = self.output_box.insert('', 'end', '', value=[self.entries_found[item].title.split('\n')[0]])
def onSearch(self):
global entries, entries_map
text_entries = ""
for item in self.output_box.get_children():
self.output_box.delete(item)
search_terms = str(self.input_box.get())
for item in data.Search(search_terms,entries,entries_map):
self.output_box.insert('', 'end', '', value=[self.entries_found[item].title.split('\n')[0]])
def onGoToAdd(self):
newroot = Tk()
newcomm = CommAdd(newroot)
newroot.geometry("800x600+0+0")
newroot.mainloop()
示例7: ProjectVenster
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class ProjectVenster (ZoekVenster):
TITLE = 'Projecten'
def fill(self):
super(self.__class__, self).fill()
#Basisvelden
self.identry = EntryField(self.veldenFrame, 'Projectnummer', row=0)
self.naamentry = EntryField(self.veldenFrame, 'Projectnaam', row=1)
self.jaarentry = EntryField(self.veldenFrame, 'Jaar', row=2)
self.budgetentry = EntryField(self.veldenFrame, 'Budget', row=3)
self.keywordLabel = Label(self.veldenFrame, text='Trefwoorden:')
self.keywordLabel.grid(row=4, column=0, sticky=W)
self.keywordText = Text(self.veldenFrame, relief=SUNKEN, wrap=WORD, width=60, height=3)
self.keywordText.grid(row=4, column=1, sticky=W)
#Partners
self.partnersLabel = Label(self.veldenFrame, text='Relaties:')
self.partnersLabel.grid(row=5, column=0)
self.partnersFrame = Frame(self.veldenFrame)
self.partnersFrame.grid(row=5, column=1, sticky=W+E)
self.partnersListBox = Treeview(self.partnersFrame, columns=('Relatie', 'Rol'), height=3, show='headings', selectmode=BROWSE)
self.partnersListBox.grid(row=0, column=0, sticky=W+E)
self.partnersKnopFrame = Frame(self.veldenFrame)
self.partnersKnopFrame.grid(row=6, column=1, sticky=E)
self.pScrollbar = Scrollbar(self.partnersFrame)
self.pScrollbar.grid(row=0, column=1, sticky=N+S+E)
self.partnersListBox.config(yscrollcommand=self.pScrollbar.set)
self.pScrollbar.config(command=self.partnersListBox.yview)
self.partnersToevoegenKnop = Button(self.partnersKnopFrame, text='Toevoegen...', command=self.partnerToevoegen)
self.partnersToevoegenKnop.grid()
self.partnersVerwijderenKnop = Button (self.partnersKnopFrame, text='Verwijderen', command=self.partnerVerwijderen)
self.partnersVerwijderenKnop.grid(row=0, column=1)
self.partnersListBox.bind('<<TreeviewSelect>>', self.nieuwePartnerSelectie)
#Bestanden
self.bestandenHoofdFrame = Frame(self.resultaatframe)
self.bestandenHoofdFrame.grid(row=2)
self.bestandenLabel = Label(self.bestandenHoofdFrame, text='Bestanden:')
self.bestandenLabel.grid(row=7, column=0, sticky=W)
self.bestandenFrame = Frame(self.bestandenHoofdFrame)
self.bestandenFrame.grid(row=7, column=1, sticky=W+E)
self.bestandenListBox = Listbox(self.bestandenFrame, selectmode=EXTENDED, width=50, height=10)
self.bestandenListBox.grid(row=0, column=0, sticky=W+E)
self.bScrollbar = Scrollbar(self.bestandenFrame)
self.bScrollbar.grid(row=0, column=1, sticky=N+S+E)
self.bestandenListBox.config(yscrollcommand=self.bScrollbar.set)
self.bScrollbar.config(command=self.bestandenListBox.yview)
self.bestandenKnopFrame = Frame(self.bestandenHoofdFrame)
self.bestandenKnopFrame.grid(row=8, column=1, sticky=E)
self.bestandenToevoegKnop = Button(self.bestandenKnopFrame, text='Bestanden toevoegen...', command=self.bestandenToevoegen)
self.bestandenToevoegKnop.grid(row=0, column=0, sticky=E)
self.mapToevoegenKnop = Button(self.bestandenKnopFrame, text='Map toevoegen...', command=self.mapToevoegen)
self.mapToevoegenKnop.grid(row=0, column=1, sticky=E)
self.bestandenOphaalKnop = Button(self.bestandenKnopFrame, text='Ophalen...', command=self.bestandenOphalen)
self.bestandenOphaalKnop.grid(row=0, column=2, sticky=E)
self.bestandenVerwijderKnop = Button(self.bestandenKnopFrame, text='Verwijderen', command=self.bestandenVerwijderen)
self.bestandenVerwijderKnop.grid(row=0, column=3, sticky=E)
self.pollBestandenLijst()
self.curid=-1
def disableResultaat(self):
self.identry.label.config(state=DISABLED)
self.identry.entry.config(state=DISABLED)
self.identry.setValue('')
self.naamentry.label.config(state=DISABLED)
self.naamentry.entry.config(state=DISABLED)
self.naamentry.setValue('')
self.jaarentry.label.config(state=DISABLED)
self.jaarentry.entry.config(state=DISABLED)
self.jaarentry.setValue('')
self.budgetentry.label.config(state=DISABLED)
self.budgetentry.entry.config(state=DISABLED)
self.budgetentry.setValue('')
self.keywordLabel.config(state=DISABLED)
self.keywordText.delete(1.0, END)
self.keywordText.config(state=DISABLED)
self.partnersLabel.config(state=DISABLED)
self.partnersListBox.delete(*self.partnersListBox.get_children())
self.partnersToevoegenKnop.config(state=DISABLED)
self.partnersVerwijderenKnop.config(state=DISABLED)
self.bestandenLabel.config(state=DISABLED)
self.bestandenListBox.delete(0, END)
self.bestandenListBox.config(state=DISABLED)
self.bestandenToevoegKnop.config(state=DISABLED)
self.mapToevoegenKnop.config(state=DISABLED)
self.bestandenOphaalKnop.config(state=DISABLED)
self.bestandenVerwijderKnop.config(state=DISABLED)
def enableResultaat(self):
self.identry.label.config(state=NORMAL)
self.identry.entry.config(state=NORMAL)
self.naamentry.label.config(state=NORMAL)
self.naamentry.entry.config(state=NORMAL)
self.jaarentry.label.config(state=NORMAL)
self.jaarentry.entry.config(state=NORMAL)
#.........这里部分代码省略.........
示例8: pylasticGUI
# 需要导入模块: from ttk import Treeview [as 别名]
# 或者: from ttk.Treeview import delete [as 别名]
class pylasticGUI(Frame):
def __init__(self):
self.__fileName = 'POSCAR'
self.__NoP = 11
self.__strain = 0.05
self.__executable = '/home/t.dengg/bin/vasp/vasp.5.3/vasp'
self.__status = None
self.__finished = None
self.__paths = None
self.__structuresinst = None
self.__p1 = None
self.__p2 = None
self.__workdir = os.getcwd()
Frame.__init__(self, name = 'pylastic')
self.grid(row=0, column=0, sticky=NSEW)
#self.pack(expand=Y, fill=BOTH)
self._create_panel()
def _create_panel(self):
panel = Frame(self, name='elastic')
#panel.pack(side=TOP, fill=BOTH, expand=Y)
panel.grid(row=0, column=0, sticky=NSEW)
nb = Notebook(panel, name='notebook')
nb.enable_traversal()
#nb.pack(fill=BOTH, expand=Y, padx=2, pady=3)
nb.grid(row=0, column=0, sticky=NSEW)
self._create_setup_tab(nb)
self._create_analyze_tab(nb)
def _create_setup_tab(self, nb):
frame = Frame(nb, name='setup')
self.e1 = Entry(frame, width=7)
self.e1.bind()
self.e1.grid(row=0, column=1)
self.e1.delete(0, END)
self.e1.insert(0, '21')
self.label1 = Label(frame, text='Number of points:')
self.label1.grid(row=0, column=0, sticky=W)
self.e2 = Entry(frame, width=7)
self.e2.bind()
self.e2.grid(row=1, column=1)
self.e2.delete(0, END)
self.e2.insert(0, '0.05')
self.label2 = Label(frame, text='Max. Lagrangian strain:')
self.label2.grid(row=1, column=0, sticky=W)
#Choose inputfile (Button)
b2 = Button(frame, text="Inputfile", width=15, command=self.select_file)
b2.grid(row=3, column=0, columnspan=2)
b = Button(frame, text="set values", width=15, command=self.read_val)
b.grid(row=4, column=0, columnspan=2)
#Read structure (Button)
b1 = Button(frame, text="Read structure", width=15, command=self.read_POS)
b1.grid(row=5, column=0, columnspan=2)
#Write structures (Button)
b3 = Button(frame, text="Setup calculation", width=15, command=self.setup_calc)
b3.grid(row=6, column=0, columnspan=2)
#Strart calculations
b4 = Button(frame, text="Calculation status", width=15, command=self.check_calc)
b4.grid(row=7, column=0, columnspan=2)
v = IntVar()
r11 = Radiobutton(frame, text="Energy", variable=v, value=1)
r12 = Radiobutton(frame, text="Strain", variable=v, value=2, state=DISABLED)
r11.select()
r11.grid(row=8, column=0, sticky=W)
r12.grid(row=9, column=0, sticky=W)
w = IntVar()
r21 = Radiobutton(frame, text="2nd", variable=w, value=1)
r22 = Radiobutton(frame, text="3rd", variable=w, value=2)
r21.select()
r21.grid(row=10, column=0, sticky=W)
r22.grid(row=11, column=0, sticky=W)
nb.add(frame, text='Setup', underline=0, padding=2)
return
def _create_analyze_tab(self, nb):
frame = Frame(nb, name='analyze')
#.........这里部分代码省略.........