Python实现QQ界面(好友列表,通信部分还未做好,没时间~~嘻嘻)
项目环境:
(1)OS:Linux RedHat6.3
(2)Language:Python
(3)Lib:pygtk,gtk
(4)Support tools:Galde3
项目简述:
(1)实现基本界面
(2)使用gtk treeview double click事件,点击好友触发事件(这是个难点,资料很少推荐大家这个博客http://blog.chinaunix.net/uid-25793640-id-3047846.html)
(3)点击好友列表,弹出对话框
(4)使用Python网络编程,实现通信
项目测试:
(1):好友列表
(2):群组
(3):联系人
部分代码:
#!/usr/bin/python
#-*- coding:utf-8 -*-
###############################################################
##Filename qqchat.py
#
#Copyrigth (c) 2014.6.12
#Author TangMeiHao@760209035@qq.com
#
#Description python+gtk实现qq聊天
################################################################
from friendlist import *
from grouplist import *
#导入gtk模块
try:
import gtk
except:
pass
#导入gtk.glade模块
try:
import gtk.glade
except:
pass
#创建类
class qq:
#初始化galde对象
def __init__(self):
#定义所要载入的glade文件
self.glade_file = "qq.glade"
#gtkbuilder必须使用自己的初始化方式,而不能使用libglade
self.glade=gtk.Builder()
#设置glade文件
self.glade.add_from_file(self.glade_file)
#链接glade文件signals
self.glade.connect_signals(self)
#设置glade文件属性
self.glade.get_object("window1").set_size_request(300,800)
#self.glade.get_object("window1").set_position(gtk.WIN_POS_CENTER)
self.glade.get_object("window1").show_all()
#读取widget信号
for widget in self.glade.get_objects():
# issubclass() 布尔函数判断一个类是另一个类的子类或子孙类,http://blog.csdn.net/bolike/article/details/21658895
if issubclass(type(widget),gtk.Buildable):name=gtk.Buildable.get_name(widget)
setattr(self,name,widget)
#设置界面相关的文本条目
self.entry1.set_max_length(5)
self.entry1.set_text("唐美好")
text1=self.entry1.get_text()
self.entry1.set_text(text1)
self.entry2.set_max_length(30)
self.entry2.set_text("理想很丰满,现实很骨干")
#创建一个好友树形实例
self.stInstance=friendlist(self.treestore1,self.treeview1)
#创建群组列表实例
self.groupInstance=grouplist(self.treeview2,self.treestore2)
if __name__ == '__main__':
try:
ui = qq()
gtk.main()
except KeyboardInterrupt:
pass
#!/usr/bin/python
#-*- coding:utf-8 -*-
###############################################################
##Filename friendlist.py
#
#Copyrigth (c) 2014.6.12
#Author TangMeiHao@760209035@qq.com
#
#Description python+gtk实现qq聊天
################################################################
import sys
import os
try:
import pygtk
pygtk.require('2.0')
except:
pass
try:
import gtk
except:
print "GTK Not avaliable!"
sys.exit(1)
class friendlist:
"""为了删除特定的行,在添加时就记下当时的跌代器
省的以后麻烦!
"""
def __init__(self,treestore,treeview):
"""在qqchat里面实例话好友列表时,将galde文件
里面的treeview,treestore传给上面所对应的参数
"""
self.ts=treestore
self.tv=treeview
#创建基本的treeviewcolumn
self.tvcolumn=gtk.TreeViewColumn('')
self.tv.append_column(self.tvcolumn)
self.cell=gtk.CellRendererText()
self.tvcolumn.pack_start(self.cell,True)
self.tvcolumn.add_attribute(self.cell,'text',0)
it=self.ts.append(None,["我的好友"])
self.ts.append(it,["唐美好"])
self.ts.append(it,["唐棉花"])
it=self.ts.append(None,["家人"])
self.ts.append(it,["高圆圆"])
it=self.ts.append(None,["同学"])
self.ts.append(it,["刘德华"])
#增加Server时的行为
def addServer(self,text1,text2):
pass
#增加ServerGroup时的行为
def addServerGroup(self,text2):
pass
#增加删除server的行为
def delServer(self,text):
pass
#此部分暂时没写好了
def delServerGroup(self,text):
pass
- 大小: 33.1 KB
- 大小: 32.2 KB
- 大小: 31.3 KB
分享到:
相关推荐
使用socket编写的服务器-客户端模式的聊天工具,无界面
将txt中的数据读取并存入sqlite中,利用tkinter将数据库增删改查界面化,并将数据库数据显示至treedata树结构中,详情请看博文https://blog.csdn.net/qq_40435493/article/details/103567881
Python实现QQ空间动态、朋友圈动态、微博超话文本爬取并进行好友批量情感分析项目源码,带UI界面 功能要求 QQ空间动态文本数据爬取功能 朋友圈动态文本数据爬取功能 微博超话文本数据爬取 数据库设计 用UI进行...
个人兴趣,用python实现连连看的辅助程序,总结实现过程及知识点。 总体思路 1、获取连连看程序的窗口并前置 2、游戏界面截图,将每个一小图标切图,并形成由小图标组成的二维列表 3、对图片的二维列表遍历,将二维...
模仿QQ设计的聊天软件qt5的界面。
python实现的简易版QQ聊天室系统,界面简洁干净,可实现多人聊天室。方便易用,也适合学习用,非常适合初学者练手小项目,加深python知识以及如何做项目。也可以在此基础上扩展自己的功能,实现更复杂的功能。
数据库设计大作业 https://blog.csdn.net/qq_21548021/article/details/110621615 在之前的版本上稍微做了点更改 Readme也包含在压缩包里了 Python所需的库也打包在里面 使用教程录了个视频 ...
该软件基于python语言编写,使用MySQL存储数据,pyqt5编写图形化界面,实现功能包括聊天,文件上传与下载,飞机大战,项目信息以及引用了图灵机器人。
博文基于Python实现可以进制转换和计算阶乘的科学计算器 https://blog.csdn.net/qq_34674558/article/details/124893964
本文实现的快递业务管理系统管理系统,采用 C/S 网络架构进行设计,客户端发送请求获取功能操作,内部实现则由服务器端完成。开发时选用 Python 语言来提升开发效率。前台页面使用 Tkinter GUI 实现,后台数据库...
django+python+sqlite实现的简单登录注册功能的网页,运行环境为python+django
基于MFC的对话框程序,包括服务器和客户端. 采用CAsyncSocket完成网络数据传输. 客户端仿QQ界面,包含多个聊天窗口界面. 数据结构采用C++中STL(STL确实比MFC中容器类效率高)完成.
为Python图形界面设计Tkinter,其中有一个案例,为设计一个窗体模拟QQ登陆界面,其中登陆成功条件设置为User:admin ;password:123456。其中需要用到文件夹中图片的,注意修改路径,素材来自网络。
一个用python实现的类似微信QQ截屏的工具源码,来自本人自制工具集里面的截屏部分整合,代码完全原创,分享出来转载请标明出处! 如果您还需要滚动截屏功能,可以看看---- 20210206更新------新增了透视裁剪工具(并...
完整图文版Python高级教程 Python在金融大数据领域的应用 12 第十二讲 Python面向对象与图形界面编程(共15页).pptx 完整图文版Python高级教程 Python在金融大数据领域的应用 13 第十三讲 金融中的大数据应用与...
用vb设计python页面 vb防拖控件拖动卡顿、增加鼠标滚轮支持,Visual Tkinter 使用VB设计python界面的可视化设计工
文章【Python小项目之Tkinter应用】Python的GUI库Tkinter实现随机点名工具或抽奖工具并封装成.exe可执行文件(https://blog.csdn.net/qq_36584673/article/details/132595198?spm=1001.2014.3001.5502)的源代码;...
数据获取、模型训练、图片上传、图片识别.
本章介绍通过Python语言实现的QQ2006聊天工具项目,所涉及的知识点有面向对象Lambda表达式、wxpython图形用户界面、访问数据库、线程和网络通信等,其中还会用到很多 Python基础知识。QQ2006是一个网络即时聊天工具,...
本文实例为大家分享了python实现银行系统的具体代码,供大家参考,具体内容如下 1、admin.py 定义管理员信息和主界面显示 #!/usr/bin/env python # coding:UTF-8 @version: python3.x @author:曹新健 @contact: ...