Code Monkey home page Code Monkey logo

blizzardui's Introduction

blizzardui

py27 py35 English version

blizzardui是一个通过pyqt模仿暴雪界面的项目,旨在给予学习pyqt的同行一些借鉴。

配色、样式、配图皆来源于暴雪,但具体的项目实现存在一些个人的取巧。

希望这个项目可以帮助你更快的完成界面的搭建或者入门pyqt。

由于QtWebKit的变化,目前pyqt5.6及以上的版本不能被支持。

目前该项目仅完成了聊天窗口的部分,其余部分将陆续更新。

简单入门实例

在将本项目下载到本地后,你可以这样运行:

python demo.py

运行后,你将看到这样的界面:

chatroom-demo

方法说明

下面我们就演示程序对如何使用做一个简单的讲解:

#coding=utf8
import sys

from blizzardui.pyqt.QtGui import (
    QApplication, QPixmap)

from blizzardui.widgets import Chatroom

# 常规的启动动作就不多加说明
app = QApplication(sys.argv)
# 两个NickName定义了来往的用户昵称
# headImage应当为一个 46*46 的QPixmap,当然如果过大也会被自动截取
mainWindow = Chatroom(toNickName=u'好友A', fromNickName='LittleCoder',
    headImage=QPixmap('src/chatroom/images/header/default_image.png'))
mainWindow.show()

# 当你输入一些内容并使用Enter时,将会调用该方法
def fn(msg):
    mainWindow.add_msg(msg)
    print(unicode(msg))
mainWindow.messageReceived.connect(fn)

# 通过add_msg,可以向历史记录中加入消息
# 如果isSend设为False,将会判定为是收到的消息
mainWindow.add_msg('yo' * 50)
mainWindow.add_msg('yo', isSend=False)
mainWindow.add_msg('yo')
# 通过set_footer,可以设置页尾的内容
mainWindow.set_footer(u'最后登录')

sys.exit(app.exec_())

常见问题与解答

Q: 为什么不使用QWebEngineView?

A: 我没能找到一个很好的办法让QWebEngineView快速启动,所以会出现初始化时闪烁以及无法加入消息的问题。

问题和建议

如果有什么问题或者建议都可以在这个Issue和我讨论

blizzardui's People

Contributors

littlecodersh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.