Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # https://www.reddit.com/r/learnpython/comments/57dc9u/recreate_tkinter_frame/
- #
- from PIL import Image
- from PIL import ImageTk
- from Tkinter import Tk, Frame
- from Tkinter import Button, LEFT, TOP, X, FLAT, RAISED, StringVar, Label
- import tkFileDialog
- class UI():
- def __init__(self, parent):
- self.parent = parent
- self.showFrame = [0] * 14
- self.showTempFrame = []
- for i in range(14):
- var = StringVar()
- self.showTempFrame.append(var)
- self.showTempFrame[i].set("not set")
- self.currentShow = StringVar()
- self.currentShow.set("date.log")
- self.menuUI()
- self.timelineUI()
- def menuUI(self):
- toolbar = Frame(self.parent, bd=1, relief=RAISED)
- # Open Button
- self.openImg = Image.open("img/open.png")
- openImgMenu = ImageTk.PhotoImage(self.openImg)
- openButton = Button(toolbar, image=openImgMenu, relief=FLAT,
- command=self.openShow)
- openButton.image = openImgMenu
- openButton.pack(side=LEFT, padx=2, pady=2)
- def timelineUI(self):
- self.timeline = Frame(self.parent)
- with open(self.currentShow.get()) as timelineShowFile:
- timelineShowData = timelineShowFile.readlines()
- timelineCurrentFrame = 0
- for timelineFrame in timelineShowData:
- for timelineFrameChannel in range(0, 13):
- if timelineFrame[timelineFrameChannel] == "0":
- timelineChannelStateLabel = Label(self.timeline, text="")
- timelineChannelStateLabel.grid(row=timelineFrameChannel, column=timelineCurrentFrame)
- elif timelineFrame[timelineFrameChannel] == "1":
- timelineChannelStateLabel = Label(self.timeline, text="#")
- timelineChannelStateLabel.grid(row=timelineFrameChannel, column=timelineCurrentFrame)
- timelineCurrentFrame = timelineCurrentFrame + 1
- self.timeline.pack(side=TOP, fill=X)
- def openShow(self):
- openFile = tkFileDialog.askopenfilename()
- self.currentShow.set(openFile)
- self.timeline.destroy()
- self.timelineUI()
- def main():
- root = Tk()
- root.geometry("250x150+300+300")
- root.minsize(400, 300)
- app = UI(root)
- root.mainloop()
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment