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 相关文章推荐
基于wxpython实现的windows GUI程序实例
May 30 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
python使用rpc框架gRPC的方法
Aug 24 Python
如何用python写一个简单的词法分析器
Dec 18 Python
Python使用while循环花式打印乘法表
Jan 28 Python
解决Python正则表达式匹配反斜杠''\''问题
Jul 17 Python
Python 实现平台类游戏添加跳跃功能
Mar 27 Python
高考考python编程是真的吗
Jul 20 Python
Flask response响应的具体使用
Jul 15 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 imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
javascript  删除select中的所有option的实例
2017/09/17 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python之import机制详解
2014/07/03 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
python多线程实现TCP服务端
2019/09/03 Python
Python制作词云图代码实例
2019/09/09 Python
python selenium操作cookie的实现
2020/03/18 Python
如何完美的建立一个python项目
2020/10/09 Python
工程预算与管理应届生求职信
2013/10/06 职场文书
中式结婚主持词
2014/03/14 职场文书
简单租房协议书
2014/04/09 职场文书
学生会主席演讲稿
2014/04/25 职场文书
施工安全生产承诺书
2014/05/23 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
幸福中国演讲稿
2014/09/12 职场文书
安全先进班组材料
2014/12/26 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
详解 TypeScript 枚举类型
2021/11/02 Javascript