Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2013 02:50:30

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

tkinter copy past

Привет всем у меня проблема с копи паст .
Вродь что-то навоял но ….

Не судите строго ! За любую помощ спасибо .

# -*- coding: cp1251 -*-
from Tkinter import *
import tkFileDialog as fd
import copy

def callback():
print “called the callback!”

def openFile():
s = fd.askopenfilename()
print s

def exitwindow( self ) :
d = fd.askexit(s)
print d

def copy(x):
#x = copy.copy(x) # make a shallow copy of y
#x = copy.deepcopy(x)
a = [,,]
b = copy.copy(a)
c = copy.deepcopy(a)

root = Tk()
#root = Tkinter.Tk().withdraw() test1

# create a menu
menu = Menu(root)
root.config(menu=menu)

filemenu = Menu(menu)
menu.add_cascade(label=u“Меню”, menu=filemenu)
filemenu.add_command(label=u“Новий файл”, command=callback)
filemenu.add_command(label=u“Відкрити файл”, command=openFile)
#filemenu.add_separator()
filemenu.add_command(label=“Quit”, command=root.destroy)

filemenu = Menu(menu)
menu.add_cascade(label=“Edit”, menu=filemenu)
filemenu.add_command(label=“Copy”, command=copy)
#filemenu.add_command(label=“Past”, command=root.past)

filemenu = Menu(menu)
menu.add_cascade(label=u“Про нас”, menu=filemenu)
filemenu.add_command(label=u“Про програму”, command=callback)
#filemenu.add_separator()
filemenu.add_command(label=u“Можливості”, command=callback)

frame = Frame(root)
frame.grid()

btn = Button(frame, text=u“В меню”)
btn.grid(row=0, column=1)

txt = Text()
txt.grid(row=1, column=0)

root.mainloop()

Отредактировано overon (Авг. 10, 2013 08:42:43)

Офлайн

#2 Авг. 10, 2013 02:57:43

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

tkinter copy past

Перевставьте код на форум

Отредактировано Singularity (Авг. 10, 2013 02:58:16)

Офлайн

#3 Авг. 10, 2013 08:42:20

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

tkinter copy past

Я выложыл выше !

Офлайн

#4 Авг. 10, 2013 09:02:33

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

tkinter copy past

overon
В чем задача Вашего скрипта? Что он должен делать. Простите, но я не понял.
Готов помочь, только нужно понять в чем.



Офлайн

#5 Авг. 10, 2013 11:47:05

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

tkinter copy past

Суть проги текстовый редактор . Открыть закрыть текстовый файл и копи-пастить .
Только прошу не судить я учусь !

Отредактировано overon (Авг. 10, 2013 11:53:19)

Офлайн

#6 Авг. 10, 2013 12:24:10

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

tkinter copy past

Я так до конца и не понял.
Поясните, пожалуйста.
- Должен ли текст быть виден пользователю.
- Может ли пользователь редактировать текст перед вставкой в новый файл.
- Кто указывает название нового файла (указывается название или целый путь).
Вообще, желательно, укажите алгоритм взаимодействия пользователя и программы.
Я вижу его так:
- Пользователь выбирает из списка файл.
- Пользователь получает название файла и путь к файлу.
- В случае необходимости, он все это редактирует (причем путь можно выбирать через tkFileDialog).
- Пользователь выбирает необходимость открытия файла через чекбокс (если чекбокс не включен, то файл открываться не будет, а просто будет скопирован по новому пути с новым именем).
- Файл открывается в связанной программе (например, для txt это блокнот или что-то там еще…), но уже новым именем и в новой папке (которую пользователь выбрал выше).
- Пользователь его редактирует и закрывает (если хочет, то сохраняет при закрытии).

Если все правильно, то это не проблема.
Вижу у Вас виджет Text. Вы хотите отобразить текстовый файл в текстовый виджет?

P.S. Судить кого бы то ни было не приучен. Я преподаватель. Вы не представляете, какие сейчас есть студенты :)



Отредактировано 4kpt (Авг. 10, 2013 12:36:09)

Офлайн

#7 Авг. 10, 2013 13:15:18

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

tkinter copy past

Так и задумал . Пользователь выбирает из списка файл. Пользователь получает название файла и путь к файлу. В случае необходимости, он все это редактирует
Но что б можна было б открыть полностю тхт сохранять его и работала кнопка копи паст . И всьо больше ничего .

Офлайн

#8 Авг. 10, 2013 15:46:13

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

tkinter copy past

Отображаться весь файл должен у Вас в программе или можно, чтобы он открывался в смежной программе? Еще не понятно, что значит копи-паст? Имеется ввиду кнопка, которая сохраняет весь файл в буфер обмена, чтобы можно было его потом везде засовывать? Или чтобы можно было создавать новое окно, где сохранять часть файла.



Отредактировано 4kpt (Авг. 10, 2013 15:47:06)

Офлайн

#9 Авг. 10, 2013 16:08:36

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

tkinter copy past

Имеется ввиду кнопка, которая сохраняет весь файл в буфер обмена, чтобы можно было его потом везде засовывать? Да .
Отображаться весь файл должен у Вас в программе или можно, чтобы он открывался в смежной программе? Увы не понял , смежная прога что это ?.
Когда запускаю прогу выскакивает окно в котором я могу спомощу кнопок открыть тхт файл и потом отредактировать и соотвецтвено сохранить . Кнопки копи и паст мне нужны для копирования и вставки текста . Пример : выделил текст и потом куда надо вставил тот же текст в том же окне .

Офлайн

#10 Авг. 10, 2013 16:25:30

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

tkinter copy past

Все понял. В другой программе: это имеется ввиду, что открывается программа, которая связана с этим расширением в системе. Т.е. если это файл с расширением “.txt”, то он откроется в блокноте, если это “.jpg”, то в программе просмотра изображений, которая установлена в системе.
Но я понял, что вы хотите, чтобы текст отображался только в Вашей программе в виджете Text.
Все верно?

P.S. Виджет Text поддерживает копирование-вставку: “ctrl+C” - “ctrl+V”, поэтому зачем создавать отдельну кнопку, я так и не понял.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version