Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2013 13:42:17

overon
Зарегистрирован: 2013-08-10
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter

Как этот код прикрутить Tkinter ? Я знаю как содать кнопку , строку ввода но как скрестить это хз .
Мне нужна строка ввода в котором пишеться название файла , при нажатии кнопи начался поиск и место где выводился результат .
Было б ищо не плохо сделать что б после того как находит файл можно было его открыть . Как это сделать я понятие не имею . ВСЕМ СПАСИБО ЗА ЛЮБУЮ ПОМОЩЬ !!
———————————————————-
Код проги по поиску файла на диске ( Os Windows )
import os
for dirpath, dirnames, filenames in os.walk('/'):
for filename in filenames:
if filename.endswith('overonkamael.txt'):
print os.path.join(dirpath, filename)
——————————————————————-
Код кнопки .

import Tkinter
import tkMessageBox

top = Tkinter.Tk()

def helloCallBack():
tkMessageBox.showinfo( “Hello Python”, “Hello World”)

B = Tkinter.Button(top, text =“Hello”, command = helloCallBack)

B.pack()
top.mainloop()

Код строки ввода .

from Tkinter import *

top = Tk()
L1 = Label(top, text=“User Name”)
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)

E1.pack(side = RIGHT)

top.mainloop()

Отредактировано overon (Дек. 3, 2013 13:42:46)

Офлайн

#2 Дек. 3, 2013 14:24:35

Aris_P@
От:
Зарегистрирован: 2010-07-24
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Tkinter

все вместе выглядит примерно так

#-*- coding: UTF-8 -*-
import Tkinter as tk
    
class MyApp():
    def __init__(self, *arg,**kw):
        self.root = tk.Tk()
        self.root.title('test')
        self.fr = tk.Frame(height=500, width=200, borderwidth=5, bd=5)        
        self.but_find = tk.Button(self.fr, text = u'Поиск', command=self.FindFile)
        self.ent_command   = tk.Entry(self.fr)
        ###
        self.fr.place(x=0, y=0)
        self.ent_command.place(x=0, y=0)
        self.but_find.place(x=0,y=30)
    ###
    def FindFile(self):
        buf = self.ent_command.get()#считываем значение из поля ввода
        print buf
        #затем обработка строки и поиск файла(ов)
    ###
    def mainloop(self):
        self.root.mainloop()
		
###
def main():
    app = MyApp()
    app.mainloop()
### 
if __name__ == '__main__':
    main()



Офлайн

#3 Дек. 3, 2013 14:31:51

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter

Aris_P@
Аааа….
Убило напрочь.
Зачем создавать root и при этом делать на него всего рамку когда вы делаете все в виде класса?
Зачем делать атрибутами класса виджеты, которые Вы не планируете использовать дальше в методах?
Что за адский изврат?

Отредактировано 4kpt_II (Дек. 3, 2013 14:34:09)

Офлайн

#4 Дек. 3, 2013 14:40:40

Aris_P@
От:
Зарегистрирован: 2010-07-24
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Tkinter

взял кусок из старой поделки, сейчас Tkinter не использую - пойдет такой отмаз?)



Офлайн

#5 Дек. 3, 2013 14:49:03

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter

Тогда код сойдет за “первый сорт”
На PyQt пересели?

Офлайн

#6 Дек. 3, 2013 14:52:13

Aris_P@
От:
Зарегистрирован: 2010-07-24
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Tkinter

на wxPython, только этот код я теперь вам точно не покажу))



Офлайн

#7 Дек. 3, 2013 14:54:47

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter

Я в wx не понимаю. Можете смело показывать
Я работаю только с Tkinter. Хватает за голову. Когда уж очень красиво надо - прикручиваю ttk…

Офлайн

#8 Дек. 3, 2013 14:57:33

Aris_P@
От:
Зарегистрирован: 2010-07-24
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Tkinter

мне Tkinter тоже хватало, но захотелось экзотики :)



Офлайн

#9 Дек. 3, 2013 15:00:37

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Tkinter

сам щас разбираюсь с ткинтер, и вроде же там свой диалог есть для открытия файла, askopenfilename ? Не?

Офлайн

#10 Дек. 3, 2013 15:13:29

Aris_P@
От:
Зарегистрирован: 2010-07-24
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Tkinter

диалог конечно есть, но тут вроде надо найти файл. Может там мильён директорий



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version