pyqt4教程之实现半透明的天气预报界面示例

yipeiwu_com5年前Python基础

复制代码 代码如下:

# -*- coding: cp936 -*-
import sys
import urllib2
import json
from PyQt4 import QtCore, QtGui
class MyWindow( QtGui.QLCDNumber,QtGui.QWidget):
    def __init__(self, parent=None):
        super(MyWindow,self).__init__(parent)

        self.setWindowTitle("weather")
        self.resize(100,40)
        self.setNumDigits(0)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setWindowOpacity(0.5)
        url ='http://m.weather.com.cn/data/101090502.html'
        re = urllib2.urlopen(url).read()
        we = json.loads(re)['weatherinfo']
        label1 = QtGui.QLabel( we['city'] )
        label2 = QtGui.QLabel( we['date'] )
        label3 = QtGui.QLabel( we['week'] )
        label4 = QtGui.QLabel( we['temp1'])
        label5 = QtGui.QLabel( we['weather1'] )
        #---------添加表格布局
        gridLayout = QtGui.QGridLayout()

        gridLayout.addWidget( label1 , 0, 0 )
        gridLayout.addWidget( label2 , 0, 1 )
        gridLayout.addWidget( label3 , 0, 2 )
        gridLayout.addWidget( label4 , 0, 3 )
        gridLayout.addWidget( label5 , 0, 4 )

        self.setLayout( gridLayout )
    def mousePressEvent(self,event): 
        if event.button()==QtCore.Qt.LeftButton: 
            self.dragPosition=event.globalPos()-self.frameGeometry().topLeft() 
            event.accept() 
        if event.button()==QtCore.Qt.RightButton: 
            self.close() 

    def mouseMoveEvent(self,event): 
        if event.buttons() & QtCore.Qt.LeftButton: 
            self.move(event.globalPos()-self.dragPosition) 
            event.accept()  

app = QtGui.QApplication( sys.argv )
demo = MyWindow()
demo.show()
app.exec_()

相关文章

解决python彩色螺旋线绘制引发的问题

解决python彩色螺旋线绘制引发的问题

彩色螺旋线的绘制代码如下: import turtle import time turtle.pensize(2) turtle.bgcolor('black') colors =...

Centos下实现安装Python3.6和Python2共存

写在前面 centos6.8中默认自带的python版本为python2.6,那么这里需要将其改为python3 下载并解压 官方下载地址为 https://www.python.o...

python实现字符串中字符分类及个数统计

输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的个数,本文给出解决方法 编写思路: 1、字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列...

关于Django显示时间你应该知道的一些问题

关于Django显示时间你应该知道的一些问题

UTC与DST UTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8。 DST(夏时制)则是为了充分利用夏天日照长的...

python开发的小球完全弹性碰撞游戏代码

python开发的小球完全弹性碰撞游戏代码

完成这个小球的完全弹性碰撞游戏灵感来自于: 下面是我花了一周下班时间所编写的一个小球完全弹性碰撞游戏: 游戏初始化状态: 最下面的游标和修改小球的移动速度 源码部分: 复制代码 代...