【Python】tkinter 재사용 할 것 같은 코드
가져오기
import tkinter as tk
메인 창
#メインウィンドウ生成
tk1 = tk.Tk()
# ウィンドウサイズを指定
tk1.geometry("900x600")
#ウィンドウタイトルを指定
tk1.title("TextConv 2020")
#ウィンドウサイズの変更可否設定
tk1.resizable(0,0)
# ウィンドウの背景色
tk1.configure(bg="white")
tk1.mainloop()
tk1.withdraw()# 윈도우의 표시를 억제는 붙지 않는다
메뉴 바
from tkinter import filedialog
def m_load():
typ = [('テキストファイル','*.txt')]
dir = 'C:\\'
file = filedialog.askopenfilename(filetypes = typ, initialdir = dir)
f = open(file)
fdata = f.read() # ファイル終端まで全て読んだデータを返す
textField.delete('1.0', 'end')
textField.insert('1.0', fdata)
f.close()
def m_save():
file = filedialog.asksaveasfilename()
txt = textField.get('1.0', 'end -1c')
f=open(file, mode='w')
f.write(txt)
f.close()
#メニューバー作成
men = tk.Menu(tk1)
#メニューバーを画面にセット
tk1.config(menu=men)
#メニューに親メニュー(ファイル)を作成する
menu_file = tk.Menu(tk1)
men.add_cascade(label='File', menu=menu_file)
men.add_cascade(label='File Load', command=m_load)
men.add_cascade(label='File Save', command=m_save)
패널 창
## orient : 配置(vertical or horizontal)
## bg : 枠線の色
# pack
## expand :可変(True or False(固定)
## fill : スペースが空いている場合の動き(tk.BOTH 縦横に広がる)
## side : 配置する際にどの方向からつめていくか(side or top ・・・)
pw_main = tk.PanedWindow(tk1, orient='horizontal')
pw_main.pack(expand=True, fill = tk.BOTH, side="left")
pw_left = tk.PanedWindow(pw_main, bg="cyan", orient='vertical')
pw_main.add(pw_left)
pw_right = tk.PanedWindow(pw_main, bg="white", orient='vertical')
pw_main.add(pw_right)
프레임
mainFrame = tk.Frame(pw_left, width=450, height=600, bg="white")
#propagation を False にすると,フレームの大きさは width, height
#Trueの場合は、中のウィジェットにくっつく
mainFrame.propagate(False)
mainFrame.pack()
클립보드
def c_button1_click():
# クリップボードから読み込み
MOji1 = tk1.clipboard_get()
#txt1.insert(0,"test")
#insert()メソッドは、第一引数に位置を、第二引数に挿入する文字を指定します。
textField.delete('1.0', 'end')
textField.insert('1.0', MOji1)
#textField.insert('1.0', 'あいうえお\nアイウアイウ\nabcABCabcABC\n123123')
def c_button2_click():
# クリップボードから読み込み
textField.clipboard_append
#ボタン(クリップボードから貼付)
c_button1 = tk.Button(clipboardFrame, text='クリップボードから貼付',command=c_button1_click,bg="yellow")
c_button1.place(x=10, y=5)
#ボタン(クリップボードにコピー)
c_button2 = tk.Button(clipboardFrame, text="クリップボードにコピー", command=c_button2_click,bg="gold")
c_button2.place(x=150, y=5)
텍스트 영역
# スクロールバー
scrollbar = tk.Scrollbar(textFrame)
scrollbar.pack(side=tk.RIGHT, fill="y")
# テキストボックス
textField = tk.Text(textFrame, width=500, height=500, bd=5, relief="groove")
textField.propagate(False)
textField.pack(side=tk.LEFT, padx=(0, 0), pady=(0, 0))
textField["yscrollcommand"] = scrollbar.set
textField.insert('1.0', 'あいうえお\nアイウアイウ\nabcABCabcABC\n123123')
padx : 외부 옆의 틈새 = 10 양측 = (10,10) 왼쪽, 오른쪽
pady: 외부 수직 틈
절대 좌표가 아니라 전·왼쪽과의 상관 위치를 나타내므로
(,)를 사용할 때는 (n,0)과 뒤를 0으로 하는 것이 설정하기 쉽다.
기본값은 Tk.CENTER.
그 밖에 Tk.W(왼쪽 요세), Tk.E(오른쪽 요세), Tk.N(위 요세), Tk.S(하 요세),
Tk.NW (왼쪽 위), Tk.SW (왼쪽 아래), Tk.NE (오른쪽 위), Tk.SE (오른쪽 아래)
· 텍스트 상자에 문자 세트
textField.insert(tk.END,"2020")
첫 번째 매개 변수는 문자를 설정하는 위치
「tk.END」로 하면 텍스트 박스의 마지막에 추가한다
· Entry에서 문자열을 가져옵니다.
textField.get
· 텍스트 상자의 문자열을 지웁니다.
textField.delete(0,tk.END)
· 수치 1.0 또는 문자열 "1.0"
텍스트 위젯의 첫 문자 위치는 1.0
· "end"or tk.END
텍스트 상자의 끝
체크 버튼
chk1 = tk.Checkbutton(SideFrame1, text='行',bg="lightgreen")
chk1.place(x=180, y=7)
버튼
S_button1 = tk.Button(SideFrame2, text="入替", command= lambda:c_button_click(10),bg="salmon")
탭
import tkinter.ttk as ttk
note = ttk.Notebook(tk1)
tab = tk.Frame(note,height=100,width=100)
note.add(tab, text="Tab")
note.pack()
jpg 표시
#tkinterはjpg表示対応していないため
from PIL import Image, ImageTk
img = Image.open('img.jpg')
w = img.width # 横幅を取得
h = img.height # 縦幅を取得
#画に合わせて横を縮小
img = img.resize(( int(w * (600/h)), int(h * (600/h)) ))
img = ImageTk.PhotoImage(img)
canvas = tk.Canvas(bg="pink", width=400, height=600)
canvas.place(x=0, y=0)
canvas.create_image(0, 0, image=img, anchor=tk.NW)
TkinterDnD2 설치
conda install -c gagphil1 tkinterdnd2
덤
전역 변수를 모듈간에 공유
cfg.py 만들기
x = 0
한 모듈, 가져오기, x=설정
import cfg
cfg.x = 1
다른 쪽으로 로드
import cfg
import mod
print(cfg.x)
Reference
이 문제에 관하여(【Python】tkinter 재사용 할 것 같은 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marks_hunt/items/8e61f8ba7d2e1d8bc414
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# スクロールバー
scrollbar = tk.Scrollbar(textFrame)
scrollbar.pack(side=tk.RIGHT, fill="y")
# テキストボックス
textField = tk.Text(textFrame, width=500, height=500, bd=5, relief="groove")
textField.propagate(False)
textField.pack(side=tk.LEFT, padx=(0, 0), pady=(0, 0))
textField["yscrollcommand"] = scrollbar.set
textField.insert('1.0', 'あいうえお\nアイウアイウ\nabcABCabcABC\n123123')
chk1 = tk.Checkbutton(SideFrame1, text='行',bg="lightgreen")
chk1.place(x=180, y=7)
S_button1 = tk.Button(SideFrame2, text="入替", command= lambda:c_button_click(10),bg="salmon")
탭
import tkinter.ttk as ttk
note = ttk.Notebook(tk1)
tab = tk.Frame(note,height=100,width=100)
note.add(tab, text="Tab")
note.pack()
jpg 표시
#tkinterはjpg表示対応していないため
from PIL import Image, ImageTk
img = Image.open('img.jpg')
w = img.width # 横幅を取得
h = img.height # 縦幅を取得
#画に合わせて横を縮小
img = img.resize(( int(w * (600/h)), int(h * (600/h)) ))
img = ImageTk.PhotoImage(img)
canvas = tk.Canvas(bg="pink", width=400, height=600)
canvas.place(x=0, y=0)
canvas.create_image(0, 0, image=img, anchor=tk.NW)
TkinterDnD2 설치
conda install -c gagphil1 tkinterdnd2
덤
전역 변수를 모듈간에 공유
cfg.py 만들기
x = 0
한 모듈, 가져오기, x=설정
import cfg
cfg.x = 1
다른 쪽으로 로드
import cfg
import mod
print(cfg.x)
Reference
이 문제에 관하여(【Python】tkinter 재사용 할 것 같은 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marks_hunt/items/8e61f8ba7d2e1d8bc414
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import tkinter.ttk as ttk
note = ttk.Notebook(tk1)
tab = tk.Frame(note,height=100,width=100)
note.add(tab, text="Tab")
note.pack()
#tkinterはjpg表示対応していないため
from PIL import Image, ImageTk
img = Image.open('img.jpg')
w = img.width # 横幅を取得
h = img.height # 縦幅を取得
#画に合わせて横を縮小
img = img.resize(( int(w * (600/h)), int(h * (600/h)) ))
img = ImageTk.PhotoImage(img)
canvas = tk.Canvas(bg="pink", width=400, height=600)
canvas.place(x=0, y=0)
canvas.create_image(0, 0, image=img, anchor=tk.NW)
TkinterDnD2 설치
conda install -c gagphil1 tkinterdnd2
덤
전역 변수를 모듈간에 공유
cfg.py 만들기
x = 0
한 모듈, 가져오기, x=설정
import cfg
cfg.x = 1
다른 쪽으로 로드
import cfg
import mod
print(cfg.x)
Reference
이 문제에 관하여(【Python】tkinter 재사용 할 것 같은 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marks_hunt/items/8e61f8ba7d2e1d8bc414
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
conda install -c gagphil1 tkinterdnd2
전역 변수를 모듈간에 공유
cfg.py 만들기
x = 0
한 모듈, 가져오기, x=설정
import cfg
cfg.x = 1
다른 쪽으로 로드
import cfg
import mod
print(cfg.x)
Reference
이 문제에 관하여(【Python】tkinter 재사용 할 것 같은 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/marks_hunt/items/8e61f8ba7d2e1d8bc414텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)