python 使用tkinter与messagebox写界面和弹窗


Posted in Python onMarch 20, 2022

1、grid 布局

说明:

参数说明:

  •     sticky:在插件正常尺寸下,分配单元中多余的空间(如果没有声明属性,默认插件居中)
  •         NE:靠右上方
  •         SE:靠右下方
  •         NW:靠左上方
  •         N:靠上方
  •         E:靠右方
  •         S:靠下方
  •         W:靠左方
  •         N+S:在垂直方向上延伸插件,并保持水平居中
  •         E+W:在水平方向上延伸插件,并保持垂直居中
  •         N+W:在水平和垂直方向上延伸插件,填满单位
  •        N+S+W:在垂直方向上延伸插件,并靠左布放

注意:pack() 和  grid() 是不能同时使用的 

  •     row: 行
  •     column:列

2、Button 按钮

参数说明:

  •     :text:按钮名称
  •     :fg:按钮的前景色(按钮文本的颜色)
  •     :bd:按钮边框的大小,默认为 2 个像素
  •     :bg: 按钮的背景色
  •     :font: 文本字体,文字字号,文字字形。字形有overstrike/italic/bold/underline
  •     :width:按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)
  •     :height: 按钮的高度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)
  •     :image: 按钮上要显示的图片,图片必须以变量的形式赋值给image,图片必须是gif格式
  •     :justify: 显示多行文本的时候,设置不同行之间的对齐方式,可选项包括left, right, center
  •     :padx: 按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离
  •     :pady: 按钮在y轴方向上的内边距(padding)
  •     :relief: 边框样式,设置控件显示效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。
  •     :wraplength: 限制按钮每行显示的字符的数量,超出限制数量后则换行显示
  •     :underline: 下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,第两个字符带下划线,以此类推
  •     :state:按钮状态 (状态要用小写,大写报错)
    •         1、normal  正常
    •         2、active  激活
    •         3、disabled  禁用
  •     :command:执行内容(按钮关联的函数,当按钮被点击时,执行该函数)
  •     :activebackground: 当鼠标放上去时,按钮的背景色
  •     :activeforeground: 当鼠标放上去时,按钮的前景色

3、使用:

from tkinter import *
from tkinter import messagebox  # python3.0的messagebox,属于tkinter的一个组件

top = Tk()  #。生成窗口
top.title("grid test")  #  窗口标题
top.geometry('300x400')  #。窗口大小


def box():
    return messagebox.askyesno(title='弹窗', message='内容')


Popup1 = Button(top, text="按钮1", fg="blue", bd=2, width=5, command=box, state="normal")
Popup1.grid(row=1, column=1, sticky='E')

Popup2 = Button(top, text="按钮2", fg="yellow", bd=2, width=5, command=box, state="normal")
Popup2.grid(row=2, column=2, sticky='NE')

效果:

python 使用tkinter与messagebox写界面和弹窗

4、无限循环的小弹窗:

:不选yes,不给通过!

这里需要改一下messagebox内的源代码!

  • 1、进入messagebox内,找到askyesnocancel弹窗方法
  • 2、在方法内把判断修改为一下内容(python会提示是否修改,同意即可)
    if s == CANCEL or s == NO:
        return None
    elif s == YES:
        return YES

python 使用tkinter与messagebox写界面和弹窗

代码:

from tkinter import *
from tkinter import messagebox


tk = Tk()
tk.title('测试')
tk.geometry('100x200')
nub = 1


def Popup1():
    global nub
    '''
    askyesnocancel 弹窗:  方法解释是这样的
    Ask a question; return true if the answer is yes, None if cancelled.
    '''
    d = messagebox.askyesnocancel(title='问题', message='python \n你是否愿意继续学习下去?')
    while True:
        if d is None:
            n = Popup2(nub)
            if n is None:
                pass
            else:
                messagebox.showinfo(title=' 提示 ', message='坚持就是胜利!\n加油!一起继续学习下去!')
                #  关闭弹窗
                tk.destroy()
                return
        else:
            return
        nub += 1


def Popup2(value):
    return messagebox.askyesnocancel(title='选择', message='你选择的第%s次' % value)


d = Button(tk, text='开始选择', fg='blue', bd=2, width=10, command=Popup1)
d.grid(row=1, column=1, sticky='NE')


tk.mainloop()

到此这篇关于python 使用tkinter与messagebox写界面和弹窗的文章就介绍到这了,更多相关python 写界面和弹窗内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
python 统计代码行数简单实例
May 04 Python
python 上下文管理器使用方法小结
Oct 10 Python
将python代码和注释分离的方法
Apr 21 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
python中的sys模块和os模块
Mar 20 #Python
python_tkinter事件类型详情
Mar 20 #Python
再谈python_tkinter弹出对话框创建
python_tkinter弹出对话框创建
Mar 20 #Python
Python读写yaml文件
Mar 20 #Python
PO模式在selenium自动化测试框架的优势
Python IO文件管理的具体使用
You might like
php实现网站文件批量压缩下载功能
2015/10/28 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
Jquery获取radio选中值实例总结
2019/01/17 jQuery
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
django fernet fields字段加密实践详解
2019/08/12 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
python re模块和正则表达式
2021/03/24 Python
合作协议书范本
2014/04/17 职场文书
防灾减灾标语
2014/10/07 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL