python图形用户接口实例详解

yipeiwu_com6年前Python基础

本文实例为大家分享了python图形用户接口实例的具体代码,供大家参考,具体内容如下

运用tkinter图形库,模拟聊天应用界面,实现信息发送.

from tkinter import *
import time
 
def main():
 #发送消息
 def sendMsg():
 strMsg = '我:'+ time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+'\n'
 txtMsglist.insert(END,strMsg,'greencolor')
 txtMsglist.insert(END,txtMsg.get('0.0', END))
 txtMsg.delete('0.0',END)
 #键盘发送消息
 def senMsgKeyboard(event):
 if event.keysym == "Up":
  sendMsg()
 #取消发送
 def cancelMsg():
 txtMsg.delete('0.0', END)
 #窗口定义
 t = Tk()
 t.title("聊天窗口")
 
 # 页面布局
 # 创建frame容器
 frmLT = Frame(width=500, height=320, bg='white')
 frmLC = Frame(width=500, height=150, bg='white')
 frmLB = Frame(width=500, height=30)
 frmRT = Frame(width=200,height=500)
 # 创建控件
 txtMsglist = Text(frmLT)
 txtMsglist.tag_config('greencolor', foreground='#008C00')
 txtMsg = Text(frmLC)
 # 键盘发送消息
 txtMsg.bind("<KeyPress-Up>", senMsgKeyboard)
 # 按钮发送消息
 btnSend = Button(frmLB, text='发送', width=8, command=sendMsg)
 btnCancel = Button(frmLB, text='取消', width=8, command=cancelMsg)
 imageLink = PhotoImage(file = "test.gif")
 lblImage = Label(frmRT, image=imageLink)
 #控件布置到页面
 frmLT.grid(row=0, column=0, columnspan=2, padx=1, pady=3)
 frmLC.grid(row=1, column=0, columnspan=2, padx=1, pady=3)
 frmLB.grid(row=2, column=0, columnspan=2)
 frmRT.grid(row=0, column=2, rowspan=3, padx=2, pady=3)
 # 固定大小
 frmLT.grid_propagate(0)
 frmLC.grid_propagate(0)
 frmLB.grid_propagate(0)
 frmRT.grid_propagate(0)
 
 btnSend.grid(row=2, column=0)
 btnCancel.grid(row=2, column=1)
 lblImage.grid()
 txtMsglist.grid()
 txtMsg.grid()
 
 # 主事件循环
 t.mainloop()
if __name__ == '__main__':
 main()

界面效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

TensorFlow查看输入节点和输出节点名称方式

TensorFlow 定义输入节点名称input_name: with tf.name_scope('input'): bottleneck_input = tf.place...

python遍历文件夹下所有excel文件

大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法: 1.如何读取excel文件 网上的版本很多,在xlrd模块基础上,找到一些源码...

django中SMTP发送邮件配置详解

django中SMTP发送邮件配置详解

Django中内置了邮件发送功能,被定义在django.core.mail模块中。发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以qq邮箱为例。 注册qq...

pandas 选择某几列的方法

如下所示: col_n = ['名称','收盘价','日期'] a = pd.DataFrame(df,columns = col_n) 以上这篇pandas 选择某几列的方法就...

python整小时 整天时间戳获取算法示例

根据当前时间戳获得整小时时间戳 unit = 3600 start_time = int(time.time())/3600 * 3600 根据当前时间戳获得整天时间戳 uni...