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

yipeiwu_com6年前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 list 查找所有匹配元素的位置实例

如下所示: import re word = "test" s = "test abcdas test 1234 testcase testsuite" w = [m.start...

python文件操作相关知识点总结整理

本文汇总了python文件操作相关知识点。分享给大家供大家参考,具体如下: 总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件、文件夹(文...

Python列表(List)知识点总结

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列...

Python产生一个数值范围内的不重复的随机数的实现方法

Python产生一个数值范围内的不重复的随机数,可以使用random模块中的random.sample函数,其用法如下: import random random.sample(po...

Python中tell()方法的使用详解

 tell()方法返回的文件内的文件读/写指针的当前位置。 语法 以下是tell()方法的语法: fileObject.tell() 参数  &nbs...