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脚本实现网卡流量监控
Feb 14 Python
python字典DICT类型合并详解
Aug 17 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
Python3 Random模块代码详解
Dec 04 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
python版百度语音识别功能
Jul 09 Python
信号生成及DFT的python实现方式
Feb 25 Python
Python面向对象实现方法总结
Aug 12 Python
python中Mako库实例用法
Dec 31 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 Python
Python快速优雅的批量修改Word文档样式
May 20 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:风雨欲来 路在何方?
2006/10/09 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
通过隐藏option实现select的联动效果
2009/11/10 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python中判断文件结束符的具体方法
2020/08/04 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
酒店管理求职信
2014/06/09 职场文书
授权委托书范文
2014/07/31 职场文书
接收函格式
2015/01/30 职场文书
特此通知格式
2015/04/27 职场文书
晚会开场白和结束语
2015/05/29 职场文书
英语读书笔记
2015/07/02 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
详解Go语言中Get/Post请求测试
2022/06/01 Golang