Example #1
0
def add_scrolledtext(
        window, width=20, height=5, wrap=tk.WORD,
        column=0, row=0, columnspan=3):
    scroll_text = scrolledtext.ScrolledText(
        window, width=width, height=height, wrap=wrap)
    scroll_text.grid(column=column, row=row, columnspan=3)
    return scroll_text
 def __init__(self,place,size,row,column,columnspan,sticky="n",padx=0):
     self.place=place
     self.size=size
     self.row=row
     self.column=column
     self.columnspan=columnspan
     self.sticky=sticky
     self.padx=padx
     self.self=scrolledtext.ScrolledText(self.place,height=20,width=80,bg="#121212",
                         relief="flat",foreground="#d1d1d1")
     self.self['font']=font.Font(family="Consolas",size=self.size)
     self.self.grid(row=self.row,column=self.column,columnspan=self.columnspan,sticky=self.sticky,padx=self.padx)
     self.self.config(state="disabled")
Example #3
0
    def createWidget(self):
        label1 = ttk.Label(self.win, text=u'请输入城市名:')
        label1.grid(sticky=tk.W, row=0, column=0)

        self.cityName = tk.StringVar()
        searchBox = ttk.Entry(self.win, width=12, textvariable=self.cityName)
        searchBox.grid(sticky=u'WE', row=0, column=1)
        searchBox.focus()

        searchBtn = ttk.Button(self.win,
                               text=u'Search',
                               command=self._searchBtn)
        searchBtn.grid(sticky=u'WE', row=1, columnspan=2)

        self.info = scrolledtext.ScrolledText(self.win,
                                              width=60,
                                              height=15,
                                              wrap=tk.WORD)
        self.info.grid(column=0, sticky=u'WE', columnspan=2)
    def erstelleEingabeFenster(self):
        """ Erstellung des Eingabefensters """
        # Label
        self.label = tk.Label(
            text=
            "Geben Sie im ersten Feld die Straßenkarte \nund im zweiten Feld die maximale Verlängerung in Prozent ein"
        )
        self.label.pack(side=tk.TOP)

        # Eingabefeld für das Straßennetz
        self.textfeld_straßenkarte = scrolledtext.ScrolledText(self,
                                                               width=40,
                                                               height=10)
        self.textfeld_straßenkarte.insert(
            tk.END,
            "1. Feld: Straßennetz im Format des BwInf bitte hier einfügen:")
        self.textfeld_straßenkarte.pack(side=tk.TOP, fill=tk.BOTH)
        # Hintergrund des Eingabefelds wird auf helles Rot gesetzt
        self.textfeld_straßenkarte['bg'] = '#fed8d8'

        # Eingabe der maximalen Verlängerung
        self.textfeld_maximaleVerlängerung = tk.Entry(self, width=40)
        self.textfeld_maximaleVerlängerung.insert(
            tk.END, "2. Feld: maximalen Verlängerung in Prozent")
        self.textfeld_maximaleVerlängerung.pack(side=tk.TOP)
        # Hintergrund des Eingabefelds wird ebenfalls auf helles Rot gesetzt
        self.textfeld_maximaleVerlängerung['bg'] = '#fed7c7'

        self.erweiterung = tk.IntVar()
        self.checkbox_erweiterung = tk.Checkbutton(
            text="Erweiterung: Weg mit min. Anzahl Abbiegen ohne Begrenzung",
            variable=self.erweiterung)
        self.checkbox_erweiterung.pack(side=tk.TOP)

        # Button zum Starten
        self.button_start = tk.Button(self,
                                      width=10,
                                      height=5,
                                      text="Starte Berechnungen",
                                      command=self.starte)
        self.button_start.pack(side=tk.BOTTOM, fill=tk.BOTH)
        self.button_start['bg'] = '#49A'
    def __init__(self, top=None, converter=None):
        if (converter is None):
            raise Exception("Please specifiy a converter")
        else:
            self._converter = converter

        # Configuration handling variables
        scriptPath = os.path.dirname(os.path.abspath(__file__))
        confFileFldr = os.path.join(
            os.path.dirname(os.path.normpath(scriptPath)),
            "psmusicxmlconv-conf")
        if not os.path.exists(confFileFldr):
            os.makedirs(confFileFldr)

        self._confFilePath = os.path.join(confFileFldr, "conf.ini")
        self._convConfigHandler = ConverterConfigHandler(self._confFilePath)

        # DEFINE SOME USEFUL VARIABLES FOR THE APPLICATION
        '''
        NOTE:
        Please use absolute paths for these No "./path/foo/" OR "~/path/foo/" or just "foo"
        '''
        '''This class configures and populates the toplevel window.
           top is the toplevel containing window.'''
        _bgcolor = '#d9d9d9'  # X11 color: 'gray85'
        _fgcolor = '#000000'  # X11 color: 'black'
        _compcolor = '#d9d9d9'  # X11 color: 'gray85'
        _ana1color = '#d9d9d9'  # X11 color: 'gray85'
        _ana2color = '#d9d9d9'  # X11 color: 'gray85'

        top.geometry("577x681+648+0")
        top.title("Musescore -> Planeshift -- Music XML Converter")

        font11 = "-family Arial -size 10 -weight bold -slant roman " \
                 "-underline 0 -overstrike 0"
        font9 = "-family Arial -size -12 -weight normal -slant roman " \
                "-underline 0 -overstrike 0"

        # configure section controls
        self.lblTitlConfigure = Label(top)
        self.lblTitlConfigure.place(relx=0.03, rely=0.0, height=28, width=225)
        self.lblTitlConfigure.configure(activebackground="#f9f9f9")
        self.lblTitlConfigure.configure(anchor=W)
        self.lblTitlConfigure.configure(font=font11)
        self.lblTitlConfigure.configure(text='''Configure:''')

        # configure the default source MusicXML directory (MC = Musescore)
        self.lblMCXMLSrcFldr = Label(top)
        self.lblMCXMLSrcFldr.place(relx=0.03, rely=0.04, height=28, width=225)
        self.lblMCXMLSrcFldr.configure(activebackground="#f9f9f9")
        self.lblMCXMLSrcFldr.configure(anchor=W)
        self.lblMCXMLSrcFldr.configure(
            text='''Musescore MusicXML export directory''')
        self.lblMCXMLSrcFldr.configure(width=225)

        self.entMCXMLSrcFldr = Entry(top)
        self.entMCXMLSrcFldr.place(relx=0.03,
                                   rely=0.09,
                                   relheight=0.06,
                                   relwidth=0.67)
        self.entMCXMLSrcFldr.configure(background="white")
        self.entMCXMLSrcFldr.configure(font="TkFixedFont")
        self.entMCXMLSrcFldr.configure(selectbackground="#c4c4c4")
        self.entMCXMLSrcFldr.insert(
            0, self._convConfigHandler.readMusescoreScoresDefaultFldr())
        READONLY = 'readonly'
        self.entMCXMLSrcFldr.configure(state=READONLY)

        self.btnMCSrcFldr = Button(top)
        self.btnMCSrcFldr.place(relx=0.73, rely=0.09, height=36, width=133)
        self.btnMCSrcFldr.configure(activebackground="#d9d9d9")
        self.btnMCSrcFldr.configure(text='''Browse''')
        self.btnMCSrcFldr.configure(command=self.setMusescoreScoresDefaultFldr)

        # configure the default PlaneShift MusicXML directory (PS = PlaneShift)
        self.lblPSSheetDestFldr = Label(top)
        self.lblPSSheetDestFldr.place(relx=0.03,
                                      rely=0.15,
                                      height=28,
                                      width=205)
        self.lblPSSheetDestFldr.configure(activebackground="#f9f9f9")
        self.lblPSSheetDestFldr.configure(anchor=W)
        self.lblPSSheetDestFldr.configure(
            text='''Planeshift scores destination folder''')

        self.entPSSheetDestFldr = Entry(top)
        self.entPSSheetDestFldr.place(relx=0.03,
                                      rely=0.2,
                                      relheight=0.06,
                                      relwidth=0.67)
        self.entPSSheetDestFldr.configure(background="white")
        self.entPSSheetDestFldr.configure(font="TkFixedFont")
        self.entPSSheetDestFldr.configure(selectbackground="#c4c4c4")
        self.entPSSheetDestFldr.insert(
            0, self._convConfigHandler.readPlaneShiftScoresDefaultFldr())
        READONLY = 'readonly'
        self.entPSSheetDestFldr.configure(state=READONLY)

        self.btnPSDestFldr = Button(top)
        self.btnPSDestFldr.place(relx=0.73, rely=0.2, height=36, width=133)
        self.btnPSDestFldr.configure(activebackground="#d9d9d9")
        self.btnPSDestFldr.configure(text='''Browse''')
        self.btnPSDestFldr.configure(command=self.setDefaultDestScoreDir)

        # CONVERTER section controls
        self.lblTitlConverter = Label(top)
        self.lblTitlConverter.place(relx=0.03, rely=0.26, height=28, width=225)
        self.lblTitlConverter.configure(activebackground="#f9f9f9")
        self.lblTitlConverter.configure(anchor=W)
        self.lblTitlConverter.configure(font=font11)
        self.lblTitlConverter.configure(text='''Converter:''')

        self.endSrcFile = Entry(top)
        self.endSrcFile.place(relx=0.03,
                              rely=0.35,
                              relheight=0.06,
                              relwidth=0.67)
        self.endSrcFile.configure(background="white")
        self.endSrcFile.configure(font="TkFixedFont")
        self.endSrcFile.configure(width=386)

        self.endDestFile = Entry(top)
        self.endDestFile.place(relx=0.03,
                               rely=0.47,
                               relheight=0.06,
                               relwidth=0.67)
        self.endDestFile.configure(background="white")
        self.endDestFile.configure(font="TkFixedFont")
        self.endDestFile.configure(selectbackground="#c4c4c4")

        self.Label1 = Label(top)
        self.Label1.place(relx=0.03, rely=0.43, height=28, width=205)
        self.Label1.configure(anchor=W)
        self.Label1.configure(text='''Destination File''')
        self.Label1.configure(width=205)

        self.Label2 = Label(top)
        self.Label2.place(relx=0.03, rely=0.3, height=28, width=205)
        self.Label2.configure(activebackground="#f9f9f9")
        self.Label2.configure(anchor=W)
        self.Label2.configure(text='''Source File''')

        self.btnSrcFile = Button(top)
        self.btnSrcFile.place(relx=0.73, rely=0.35, height=36, width=133)
        self.btnSrcFile.configure(activebackground="#d9d9d9")
        self.btnSrcFile.configure(text='''Browse''')
        self.btnSrcFile.configure(width=133)
        self.btnSrcFile.configure(command=self.browseSrcFile)

        self.btnDestFile = Button(top)
        self.btnDestFile.place(relx=0.73, rely=0.48, height=36, width=133)
        self.btnDestFile.configure(activebackground="#d9d9d9")
        self.btnDestFile.configure(text='''Browse''')
        self.btnDestFile.configure(command=self.browseDestFile)

        self.btnConvXML = Button(top)
        self.btnConvXML.place(relx=0.03, rely=0.6, height=66, width=538)
        self.btnConvXML.configure(activebackground="#d9d9d9")
        self.btnConvXML.configure(text='''ConvertXML''')
        self.btnConvXML.configure(width=534)
        self.btnConvXML.configure(command=self.convertXMLButtonAction)

        self.statusMsg = tkst.ScrolledText(top)
        self.statusMsg.place(relx=0.03,
                             rely=0.73,
                             relheight=0.23,
                             relwidth=0.93)
        self.statusMsg.insert(
            END, '''Status message of conversion will appear here''')
        self.statusMsg.configure(width=534)
        self.statusMsg.configure(state=DISABLED)
Example #6
0
top.pack()  # Pack top frame
bottom2.pack()  # pack bottom2 frame
bottom.pack(side=RIGHT, anchor="sw")  # Pack bottom frame

l1 = Label(top, text="Youtube URL:")
l1.pack(side=LEFT)
e1 = Entry(top)
e1.pack(side=LEFT)
l2 = Label(top, text="Remote System:")
l2.pack(side=LEFT)
e2 = Entry(top)
e2.pack(side=LEFT)

# l = Label(root)

t = tkscrolled.ScrolledText(bottom2, state='disabled', width=75, height=16)
t.pack()

old_stdout = sys.stdout


class StdoutRedirector(object):
    def __init__(self, text_area):
        self.text_area = text_area

    def write(self, str):
        self.text_area.insert(END, str)
        self.text_area.see(END)


def callback():