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 re模块介绍
Nov 30 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
python实现壁纸批量下载代码实例
Jan 25 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
python flask几分钟实现web服务的例子
Jul 26 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
如何基于Python批量下载音乐
Nov 11 Python
python实现小世界网络生成
Nov 21 Python
keras的三种模型实现与区别说明
Jul 03 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
基于jquery的loading效果实现代码
2010/11/05 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
js a标签点击事件
2017/03/30 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python抖音表白程序源代码
2019/04/07 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
Python如何实现机器人聊天
2020/09/10 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
婚庆公司的创业计划书
2014/01/22 职场文书
数控个人求职信范文
2014/02/03 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
建设工程授权委托书
2014/09/22 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android