1. 前言
最近要做的事情很多,琢磨着用 Python
写一个桌面便签的程序。
效果:
文件框架:
jnote
|-- notes #存储便签的文件夹
|-- jnote.py
接下来,我们开始编写便签:
2. 解析
2.1 前面的
2.1.1 导入库
这个项目需要用到GUI库 tkinter
库,这是 Python
自带的GUI库,利用以下语句导入:
import tkinter
2.1.2 创建class类
class gui:
2.1.3 颜色主题
利用字典来存储颜色主题:
colorthemes = {
"yellow":["#FFFACD","#F0E68C"],"blue":["#98F5FF","#00E5EE"],"red":["#E9967A","#EE6363"],"green":["#90ee90","#32CD32"]}
2.3 GUI界面
窗口
def setgui(self,x,y):
self.root = Tk() #窗口
self.root.title('jnote') #窗口标题
self.root.geometry('200x200+{0}+{1}'.format(x,y)) #改变窗口位置
self.root.wm_attributes("-topmost", True) #窗口总在最前
self.root.overrideredirect(True) #窗口去边框,去边框后没有任务栏图标
self.themecolor = list(self.colorthemes.values())[0] #获取主题名
标题栏
self.titleframe = Frame(self.root,bg=self.themecolor[0],bd=0)
self.titleframe.grid(row=0,column=0,sticky='nswe')
拖动窗体的按钮
self.icon = Label(self.titleframe,text='N',font=('宋体',14),cursor='fleur',anchor='center',bg=self.themecolor[0])
self.icon.grid(row=0,column=0,sticky='nswe')
标题
self.title = Entry(self.titleframe,font=("微软雅黑",14),bd=0,bg=self.themecolor[0])
self.title.grid(row=0,column=1,sticky='nswe')
self.title.insert(0,'untitled')
设置按钮
self.sets = Label(self.titleframe,text='…',font=("宋体",14),anchor='center',bg=self.themecolor[0])
self.sets.grid(row=0,column=3,sticky='nswe')
关闭按钮
self.quit = Label(self.titleframe,text='×',font=("宋体",14),anchor='center',bg=self.themecolor[0])
self.quit.grid(row=0,column=4,sticky='nswe')
因为我觉得
tkinter
自带的按钮太难看,不符合我的现代化、扁平设计的要求,
因此我用label
组件代替按钮,
利用绑定属性可以实现按钮的功能。
文本区域
self.text = Text(self.root,font=(10),bd=0,bg=self.