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之玩转字符串(2)更新篇
Sep 28 Python
python比较2个xml内容的方法
May 11 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
使用Template格式化Python字符串的方法
Jan 22 Python
python使用正则筛选信用卡
Jan 27 Python
Python判断有效的数独算法示例
Feb 23 Python
python爬虫 正则表达式解析
Sep 28 Python
Python 实现数组相减示例
Dec 27 Python
NumPy排序的实现
Jan 21 Python
Python类super()及私有属性原理解析
Jun 15 Python
python json.dumps() json.dump()的区别详解
Jul 14 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关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
Python中的装饰器用法详解
2015/01/14 Python
Python CSV模块使用实例
2015/04/09 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
快餐店的创业计划书范文
2014/01/29 职场文书
新护士岗前培训制度
2014/02/02 职场文书
学生检讨书如何写
2014/10/30 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
Java实现给Word文件添加文字水印
2022/02/15 Java/Android