栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【GUI】Python图形界面(二)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【GUI】Python图形界面(二)

Python图形界面 七、文本元素参数设定
import PySimpleGUI as sg
text = '''悯农
唐 李绅
锄禾日当午,
汗滴禾下土。
谁知盘中餐,
粒粒皆辛苦?
'''
layout=[[sg.T(text,                         # str:要显示的文本。可以包含/n以实现多行。    
key='-Text-',                               # [str, int, tuple, object]:                
                                            # 元素唯一标识符,                
                                            # 书写规范 key='-NMAE-'。用于元素的定位。    
size=(None, None),                          # (int, int): 元素宽度,行高    size=(30, 20)
font=('宋体',20),                            # 设定字体的名称,大小         font=None       
                                            # font='宋体'               
                                            # font=('宋体',int) or font=['宋体',int]    
auto_size_text=True,                        # bool: 元素根据文本自动调节大小    auto_size_text=None
enable_events=False,                        # bool: 事件属性,设定为True时,点击文本发生事件。    
relief='ridge',                             # 浮雕设计 'raised','sunken','flat','ridge','solid','groove'  relief=None
border_width=None,                            # 设定relief时,用来设定边界宽度    border_width=None
text_color="blue",                           # 文本颜色    text_color=None
background_color='white',                   # 文本背景颜色    background_color=None
justification=None,                         # 对齐方式: 'left','right','center'    
pad=None,                                   # 元素间隔设定  记住左右上下                    
                                            # (int, int) or ((int, int),(int,int))                
                                            #  or (int,(int,int))or ((int, int),int)                
                                            # (left/right, top/bottom) or ((left, right), (top, bottom))    
right_click_menu=['1',['1','2','3']],       # 右击调出菜单  List[List[Union[List[str],str]]],设定后,右击此元素可以调出菜单。 
grab=True,                                  # bool:如果为真,点此元素可以移动拖拽窗口    grab=None
tooltip='这是一个提示文本',                    # str:悬浮文本 ,当光标置于该元素上方,会显示设定的文本。   tooltip=None 
visible=True                                # bool: 元素可见状态
)]
]

# layout=[
#     [sg.T('你好'),sg.T('你好'),sg.T('你好')],
#     [sg.T('你好'),sg.T('你好',pad=(30,30)),sg.T('你好')],
#     [sg.T('你好'),sg.T('你好'),sg.T('你好')],
# ]
# 3.创建窗口
window = sg.Window('Python GUI', layout)

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == '-Text-':
        sg.popup('运行了一个点击事件')

# 5.关闭窗口
window.close()
八、文本元素更新设定 1. 更新方法
window[key].update()
window[key].Update() 
2. 文本元素可以更新的属性
update(
	value=None, # str 更新文本
	background_color=None,#更新文本背景颜色
	text_color=None,# 更新文本颜色
	font=None,# 更新字体的名称或者大小
	visible=None# 更新元素的可见状态
	) 
3. 总结代码
import PySimpleGUI as sg
layout=[
[sg.T('小帽',key='-Text-'),sg.B('点赞')]
]

# 3.创建窗口
window = sg.Window('Python GUI', layout)

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == '点赞':
        window['-Text-'].update(
            value='谢谢支持!',                 # str 更新文本
            background_color = 'white',    # 更新文本背景颜色
            text_color = 'black',          # 更新文本颜色
            font = ('黑体', 30),                # 更新字体的名称或者大小
            visible = None              # 更新元素的可见状态
        )

# 5.关闭窗口
window.close()
九、中英文切换页面(*)

# 1.导入库
import PySimpleGUI as sg

# 2.定义布局,确定行数
layout=[

[sg.B('中文'),sg.B('English')],

[sg.T('请输入基本信息', key='-TITLE-')],

[sg.T('姓名', key='-NAMETXT-',size=(8,1))]+[sg.In()]]+[

[sg.T('性别', key='-SEXTXT-',size=(8,1))]+[sg.In()]]+[

[sg.T('年龄', key='-AGETXT-',size=(8,1)),sg.In()],

[sg.B('确认', key='-CONF-'),sg.B('取消', key='-CANCEL-')]

]

# 3.创建窗口
window = sg.Window('Python GUI', layout)

# 4.事件循环
while True:
    event, values = window.read()   # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:   # 窗口关闭事件
        break
    if event == 'English':
        window['-TITLE-'].update("Please enter basic information")
        window['-NAMETXT-'].update('Name')
        window['-SEXTXT-'].update('Sex')
        window['-AGETXT-'].update('Age')
        window['-CONF-'].update('Confirm')
        window['-CANCEL-'].update('Cancel')
    if event == '中文':
        window['-TITLE-'].update("请输入基本信息")
        window['-NAMETXT-'].update('姓名')
        window['-SEXTXT-'].update('性别')
        window['-AGETXT-'].update('年龄')
        window['-CONF-'].update('确定')
        window['-CANCEL-'].update('取消')

# 5.关闭窗口
window.close()
十、单行输入框元素的设定
import PySimpleGUI as sg

layout = [
    [sg.T('账号:'), sg.In(
        '请输入您的账号',  # 默认值设定,可以为空字符串   
        key='-INPUT-',  # 元素的唯一标识符,规范 key='-INPUT-'                   
        size=(30, None),  # 宽,行高 size=(None, None)
        disabled=None,  # bool: 元素禁用,如果为True则禁用,无法输入任何值       
        password_char='',  # 密码字符,一般设置为*
        justification='l',  # 对齐方式 'r','l','c'  
        background_color='black',  # 输入框的颜色
        text_color="red",  # 输入框的文本颜色
        font=('黑体', 15),  # 输入框字体的名称或者大小设定
        tooltip='这是一个提示文本',  # str:悬浮文本
        border_width=5,  # 输入框边界线宽度设定
        enable_events=False,  # bool:输入框的事件属性
        # 如果设定为True,输入值会发生一个事件
        do_not_clear=True,  # bool:输入框内容不被清楚
        # 如果为False,一发生事件,该输入框内的值会被清除
        pad=None,  # 元素间隔
        disabled_readonly_background_color='black',  # str:元素禁用时的背景颜色设定
        disabled_readonly_text_color=None,  # str:元素禁用时的背景颜色设定
        right_click_menu=None,  # 右击调出菜单  List[List[Union[List[str],str]]],设定后,右击此元素可以调出菜单。 
        visible=True  # 元素的可见状态,如果为False,则界面不显示该元素
    )],
    [sg.T('密码:'), sg.In('', focus=True)],  # bool:设定焦点,如果为True,则光标显示在此输入框
    [sg.B('确定'), sg.B('取消')]
]

# 3.创建窗口
window = sg.Window('Python GUI', layout)

# 4.事件循环
while True:
    event, values = window.read()  # 窗口的读取,有两个返回值(1.事件,2.值)
    if event == None:  # 窗口关闭事件
        break
    if event == '-Text-':
        sg.popup('运行了一个点击事件')

# 5.关闭窗口
window.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号