tkinter使用小例子

举报
Amrf 发表于 2020/04/13 14:37:24 2020/04/13
【摘要】 在python中做一些小的用户交互输入输出时,场景特别简单的时候,我们可能就不是特别想引入wxpython/pyqt这样的图形框架,那么这个时候python自带的tkinter就是个不错的选择;下面是一个使用的小例子:# -*- coding: cp936 -*-import tkinter as tkdef Exas(): global root root.destroy()d...

在python中做一些小的用户交互输入输出时,场景特别简单的时候,我们可能就不是特别想引入wxpython/pyqt这样的图形框架,

那么这个时候python自带的tkinter就是个不错的选择;

下面是一个使用的小例子:

# -*- coding: cp936 -*-

import tkinter as tk

def Exas():
    global root
    root.destroy()
def center(win):
    """
    centers a tkinter window
    :param win: the root or Toplevel window to center
    """
    win.update_idletasks()
    width = win.winfo_width()
    frm_width = win.winfo_rootx() - win.winfo_x()
    win_width = width + 2 * frm_width
    height = win.winfo_height()
    titlebar_height = win.winfo_rooty() - win.winfo_y()
    win_height = height + titlebar_height + frm_width
    x = win.winfo_screenwidth() // 2 - win_width // 2
    y = win.winfo_screenheight() // 2 - win_height // 2
    win.geometry('{}x{}+{}+{}'.format(width, height, x, y))
    win.deiconify()
def main():
    global root
    root = tk.Tk()
    root.title("InstagramBot")
    # root.geometry('180x100+50+50')
    portInput = tk.StringVar()
    
    lblportInput = tk.Label(root, text = '端口:').grid(row = 0, column = 0, padx = 0, pady = 10)
    entportInput = tk.Entry(root, textvariable = portInput).grid(row = 0, column = 1)
    btn = tk.Button(root, text = '确定', command = Exas, fg='black', font='黑体 12').grid(row = 5, column = 1)
    center(root)
    root.mainloop()
    portStr = portInput.get()
    print('===',portStr)

if __name__ == "__main__":
    main()

参考:

image.png

https://stackoverflow.com/questions/54852395/using-entry-stringvar-and-intvar-with-tkinter-and-python3

https://stackoverflow.com/questions/50438182/user-input-in-dialog-box

https://blog.csdn.net/wuxiushu/article/details/52515926

https://blog.csdn.net/Eider1998/article/details/104725180

https://stackoverflow.com/questions/3352918/how-to-center-a-window-on-the-screen-in-tkinter

https://stackoverflow.com/questions/9987624/how-to-close-a-tkinter-window-by-pressing-a-button

https://stackoverflow.com/questions/17493855/python-3-3-tkinter-window-is-not-defined

https://www.cnblogs.com/lvxiuquan/archive/2012/07/09/2582437.html

https://www.jianshu.com/p/6bc26b3ba6e5

https://stackoverflow.com/questions/4041238/why-use-def-main

https://stackoverflow.com/questions/419163/what-does-if-name-main-do

image.png

https://blog.csdn.net/cc7756789w/article/details/46635383

https://juejin.im/post/5b7ec76ce51d4538b149ffc0

https://blog.csdn.net/weixin_35640856/article/details/73614294

https://cloud.tencent.com/developer/article/1092206


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。