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 相关文章推荐
Djang中静态文件配置方法
Jul 30 Python
Python编写一个闹钟功能
Jul 11 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
tensorflow实现加载mnist数据集
Sep 08 Python
pandas 根据列的值选取所有行的示例
Nov 07 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
python里运用私有属性和方法总结
Jul 08 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
Python数据可视化实现漏斗图过程图解
Jul 20 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 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中实现简单的ACL 完结篇
2011/09/07 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
node模块机制与异步处理详解
2016/03/13 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
python 将md5转为16字节的方法
2018/05/29 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
python两个list[]相加的实现方法
2020/09/23 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
大二法英学生职业生涯规划范文
2014/02/27 职场文书
捐书倡议书
2014/08/29 职场文书
擅自离岗检讨书
2014/09/12 职场文书
培训简讯范文
2015/07/20 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫