`
唐美好
  • 浏览: 44801 次
  • 性别: Icon_minigender_1
  • 来自: 湖南永州
社区版块
存档分类
最新评论

Python实现QQ界面

阅读更多

                     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
2
0
分享到:
评论
6 楼 唐美好 2014-07-18  
liujiaoshui 写道
我看到了重点:webchat。。。。是有这么个开源

是Wechat好不,随便取得名字
5 楼 liujiaoshui 2014-07-18  
我看到了重点:webchat。。。。是有这么个开源
4 楼 唐美好 2014-07-18  
alajl 写道
没有多大的实际意义

就是学习的时候练练手,当然Python基础最重要了。
3 楼 alajl 2014-07-18  
没有多大的实际意义
2 楼 唐美好 2014-07-18  
houyujiangjun 写道
用webkit渲染吧...实在是太难看了....像九几年的东西

我真不知道什么是webkit,嘻嘻
1 楼 houyujiangjun 2014-07-18  
用webkit渲染吧...实在是太难看了....像九几年的东西

相关推荐

    python实现QQ基本功能(python实现聊天工具)

    在本项目中,我们主要探讨如何使用Python编程语言来实现一个基本的QQ功能,即创建一个无图形用户界面(GUI)的聊天工具。这个工具基于socket编程,它允许两个或多个用户通过网络进行通信。接下来,我们将深入研究...

    基于Python实现QQ音乐音频批量转码(可执行文件)

    【标题】"基于Python实现QQ音乐音频批量转码(可执行文件)"涉及到的主要知识点是音频文件格式转换,特别是从QQ音乐下载的音频文件的处理。在这个项目中,使用了Python编程语言,以及一些外部工具,如ffmpeg和um.exe...

    Python实现QQ空间动态、朋友圈动态、微博超话文本爬取并进行好友批量情感分析项目源码,带UI界面

    Python实现QQ空间动态、朋友圈动态、微博超话文本爬取并进行好友批量情感分析项目源码,带UI界面 功能要求 QQ空间动态文本数据爬取功能 朋友圈动态文本数据爬取功能 微博超话文本数据爬取 数据库设计 用UI进行...

    即时通讯python仿QQ基本功能

    在Python中,我们可以通过PyQt5库来调用Qt5的功能,实现图形用户界面(GUI)的设计。PyQt5不仅封装了Qt5的所有组件,还支持Python的特性,使得编写GUI程序变得更为便捷。 本项目的核心技术包括以下几个方面: 1. *...

    html+css+js+python(QtWebEngineWidgets) 实现微信聊天界面-包括时间,文件,纯文本等

    下载标题即为文章名, 如果没有下载机会可以去...html+css+js+python(QtWebEngineWidgets) 实现微信聊天界面-包括时间,文件,纯文本等 `PyQt5` 和 `html` 双向通信 python负责网络通信和API(html没有python照样可以)

    python实现连连看辅助(图像识别)

    个人兴趣,用python实现连连看的辅助程序,总结实现过程及知识点。 总体思路 1、获取连连看程序的窗口并前置 2、游戏界面截图,将每个一小图标切图,并形成由小图标组成的二维列表 3、对图片的二维列表遍历,将二维...

    python界面实现数据库增删改查

    将txt中的数据读取并存入sqlite中,利用tkinter将数据库增删改查界面化,并将数据库数据显示至treedata树结构中,详情请看博文https://blog.csdn.net/qq_40435493/article/details/103567881

    用vb设计python页面 vb防拖控件拖动卡顿、增加鼠标滚轮支持,Visual Tkinter 使用VB设计python界面的

    "增加鼠标滚轮支持"则意味着在设计的Python界面中,开发者希望实现鼠标滚轮的功能,例如滚动文本框内容或调整滑块等。在Tkinter中,这需要通过捕获事件并相应地更新控件状态来实现。Visual Tkinter可能已经内置了...

    用python做的qq源代码

    在PythonQQ项目中,Twisted可能被用于处理网络通信的复杂性,如处理多个并发连接、实现长连接、心跳机制等。 总的来说,这个PythonQQ项目结合了多种Python技术,包括基础的socket网络编程、高效的异步模型(asyncio...

    Python + PyQt5 + MySQL模拟QQ的聊天与娱乐软件

    本项目以Python为编程语言,PyQt5为图形用户界面(GUI)库,MySQL为数据库系统,打造了一个集聊天、文件传输、游戏于一体的模拟QQ的多功能软件。本文将深入探讨这个项目的各个核心组件和技术实现。 首先,Python是...

    python实现类似QQ群聊

    综上所述,"python实现类似QQ群聊"项目涉及了多个复杂的编程概念和技术,需要开发者具备扎实的Python基础,以及对网络编程、图形界面设计和多线程管理的深入理解。通过这个项目,开发者不仅可以提升技术能力,还能...

    Python实现基于Socket通信+PyQt5的仿QQ聊天系统项目源码(高分项目)

    Python实现基于Socket通信+PyQt5的仿QQ聊天系统项目源码(高分项目)客户端界面目录文件:pyqt5-qq,服务端目录文件:Tcpserver Python实现基于Socket通信+PyQt5的仿QQ聊天系统项目源码(高分项目)服务端目录结构:...

    python qq群消息自动复制,uiautomation

    Python QQ群消息自动复制项目利用了`uiautomation`库,这是一个强大的Windows GUI自动化工具,主要用于模拟用户界面操作。在本文中,我们将深入探讨如何使用Python和`uiautomation`库来实现QQ群消息的自动复制功能。...

    Python项目开发实战_开发Python版QQ2006聊天工具_编程案例实例详解课程教程.pdf

    《Python项目开发实战:开发Python版QQ2006聊天工具》 本教程详细介绍了如何使用Python语言开发一款类似于QQ2006的聊天工具,涵盖了多种关键的技术和概念,旨在提升开发者在实际项目中的应用能力。以下是本教程中...

    基于Python开发的快递管理系统 课程设计完整代码GUI界面

    本文实现的快递业务管理系统管理系统,采用 C/S 网络架构进行设计,客户端发送请求获取功能操作,内部实现则由服务器端完成。开发时选用 Python 语言来提升开发效率。前台页面使用 Tkinter GUI 实现,后台数据库...

    Python-qq音乐命令行版本

    **Python-qq音乐命令行版本** 是一个利用Python编程语言实现的项目,它允许用户在命令行界面中享受qq音乐的服务。这个项目的核心是通过Python的接口与qq音乐的API进行交互,为用户提供搜索歌曲、播放音乐等基本功能...

    Python QQ,MSN好友导入

    本主题聚焦于“Python QQ, MSN好友导入”,这是一个关于如何利用Python编程实现从QQ和MSN即时通讯软件中导入联系人信息的实践案例。在实际应用中,这样的功能可能用于构建社交网络分析工具、自动化营销系统或者数据...

    python实现的简易版QQ聊天室系统

    python实现的简易版QQ聊天室系统,界面简洁干净,可实现多人聊天室。方便易用,也适合学习用,非常适合初学者练手小项目,加深python知识以及如何做项目。也可以在此基础上扩展自己的功能,实现更复杂的功能。

    Python制作一个仿QQ办公版的图形登录界面

    本文将详细讲解如何使用Python的PyQt5库来制作一个仿QQ办公版的图形登录界面。 首先,我们需要理解登录界面的基本结构。在分析原始的TIM登录界面后,我们可以将其拆分为两大部分:左侧的宣传图片和右侧的功能按钮...

    基于Python搭建深度神经网络,实现花卉图像识别

    在本项目中,我们将深入探讨如何使用Python搭建深度神经网络,实现对花卉图像的识别。这一过程涵盖了机器学习中的多个重要环节,包括数据预处理、模型构建、训练以及实际应用。我们将主要关注Python编程语言以及它在...

Global site tag (gtag.js) - Google Analytics