## 20240225 python 筆記
### colorchooser:
顏色選擇器
```python
from tkinter import*
from tkinter import colorchooser
def click():
color=colorchooser.askcolor() #會回傳((RGB_value),hexadecimal)
print(color)
color_hex=color[1] #取得後面十六進位值color_hex 可以用來改變bg,foreground,str... 顏色
window=Tk()
button=Button(window,text="click",command=click)
button.pack()
window.mainloop()
```
### text area
Can enter multiple lines of text
```python
from tkinter import*
def submit():
content=text.get("1.0",END) #1.0代表從第一行第一列開始讀取,END表示最後一個字符,get(起點,終點)
print(content)
window=Tk()
text=Text(window,
bg="light yellow",
font=("ink free",25),
height=20,
width=20,
foreground="purple") #foreground字體顏色
text.pack()
button = Button(window,text="submit",command=submit)
button.pack()
window.mainloop()
```
### file dialogue:how to open a file?
用法:
filedialog.askfilename()可以訪問指定路徑的檔案,並將該檔案的完整路徑回傳。
```python
from tkinter import*
from tkinter import filedialog
window=Tk()
def openfile():
file_path=filedialog.askopenfilename(initialdir="folder_path", #指定預設開啟資料夾的位址
title="test",
filetypes=(("text_file","*.txt"),("all_files","*.*"))) #預設可選擇開啟之格式("顯示文字","*.格式")
file=open(file_path,"r")
print(file.read())
file.close()
button=Button(window,text="open file",command=openfile)
button.pack()
window.mainloop()
```
### file dialogue(how to save a file?):
```python
from tkinter import*
from tkinter import filedialog
def save_file():
file=filedialog.asksaveasfile(defaultextension=".txt", #預設儲存格式
filetypes=(("Text file",".txt"),("html file",".html"))) #可選擇之儲存格式
content=text_area.get("1.0",END)
file.write(content)
file.close()
window=Tk()
button=Button(window,text="save",command=save_file)
text_area=Text(window)
text_area.pack()
button.pack()
window.mainloop()
```