tkinter Tool
Project description
tkinterDev
tkinter高级工具包,实现了许多高级功能,我会持续更新的。
devdemo
在终端输入以下代码,即可打开实例,看各个组件的功能
python -m tkdev
DevDrag
可以使组件拖动另一个组件进行移动,这算是里面做得最好的了。第一个填拖动那个组件使另一个组件移动,第二个填被拖动的组件。第三个填是否是窗口,默认为False。
from src import tkdev as dev
import tkinter as tk
if __name__ == '__main__':
root = tk.Tk()
root.geometry("500x500")
drag_widget = tk.Label(root, background="black", foreground="white", text="Hello DevDrag")
drag_widget.pack(fill=tk.BOTH, expand=tk.YES)
dev.DevDrag(drag_widget, drag_widget)
root.mainloop()
运行以上代码,即可拖动窗口中的Label组件,因为是用18行代码写出来,并且无依赖,运行速度很快。但是还未实现调整组件大小的功能,有点苦恼。
运行问题
1.为什么我用这个拖动窗口会报错? 答:那是因为组件判断不了你是窗口还是组件,窗口用geometry,组件用place,两种方法不同。所以如果要用来拖动窗口的话,请加上iswindow参数,为True,即可正常运行。
from src import tkdev as dev
dev.DevDrag(widget, window, iswindow=true)
DevSubWindow
在Qt里可以使用MDI这个组件制作子窗口,而tkinter中未实现这个功能,而我又想制作tkinter的设计器,需要子窗口功能,于是我就自己做了一个,里面都是有tkinter组件做的,并非ttk。不是我不想要漂亮的界面,而是我发现使用ttk,按钮的边框太长了,显得不美观,于是就用tk组件了。
from src import tkdev as dev
import tkinter as tk
if __name__ == '__main__':
root = tk.Tk()
root.geometry("300x300")
subwindow = dev.DevSubWindow(root, title="DevSubWindow")
subwindow.place(x=5, y=5, width=290, height=290)
root.mainloop()
运行问题
1.暂无,等待反馈
DevTitleBar和DevWindow
这两个组件需要一起搭配着进行使用最好,DevWindow的wm_titlebar可以设置标题栏,而DevTitleBar做的标题栏与DevWindow正好很搭配。
from src import tkdev as dev
import tkinter as tk
if __name__ == '__main__':
root = dev.DevWindow()
root.geometry("300x300")
titlebar = dev.DevTitleBar(root, iswindow=True, window=root)
root.titlebar(titlebar)
root.mainloop()
可是,当你运行以上的代码之后,你会发现,这个DevTitleBar和DevSubWindow的标题栏一模一样,其实DevSubWindow就是使用DevTitleBar做的。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tkinterDev-1.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d008c552fc1ba82582ad6a98c93365a9d0130a5c51a53b819983f4ecaac92168 |
|
MD5 | 38b9eed46a79cd9cceb9d5f51515158a |
|
BLAKE2b-256 | b504dea4ffe83e205c93fd06c9fcfadb7e9da3bde0544c410cd3da6e58dcd662 |