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 ljust rjust center输出
Sep 06 Python
深入解析Python编程中JSON模块的使用
Oct 15 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
python 链接和操作 memcache方法
Mar 04 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
Python语言进阶知识点总结
May 28 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
pycharm全局搜索的具体步骤
Jul 28 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
Elasticsearch 数据类型及管理
Apr 19 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
Javascript 对象的解释
2008/11/24 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python3爬虫学习入门教程
2018/12/11 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
在线课程:Skillshare
2019/04/02 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
一套SQL笔试题
2016/08/14 面试题
什么是URL
2015/12/13 面试题
祖国在我心中演讲稿
2014/01/15 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
节约电力资源的建议书
2014/03/12 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
素质教育标语
2014/06/27 职场文书
关于教师节的广播稿
2015/08/19 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers