Python实现QQ界面

[b][color=blue][size=medium]
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):好友列表

[img]http://dl2.iteye.com/upload/attachment/0099/2204/90d29898-0119-3ffb-ba85-b62149f73635.png[/img]

(2):群组

[img]http://dl2.iteye.com/upload/attachment/0099/2206/42b5ae82-199c-31d3-887c-0c3502ade4f4.png[/img]

(3):联系人

[img]http://dl2.iteye.com/upload/attachment/0099/2208/0b3bea81-9e31-31db-80de-3cd6cb9b1058.png[/img]
[/size][/color][/b]
部分代码:
#!/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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值