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比特币初始配置的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ Created on Fri Jan...

用Python编写一个基于终端的实现翻译的脚本

为什么写这个程序,为什么不给这个程序配备gui?原因很简单,因为我是一个命令行控,Linux习惯了不习惯了鼠标,总觉得点着不如敲命令快,各位在看这篇文章就说明和本人有相同的爱好....

Python采集代理ip并判断是否可用和定时更新的方法

网上有很多免费的ip地址,都是可以使用的,但是如果手动来获取太麻烦,这里通过Python自动抓取,可以批量获取。 代码如下: # -*- coding: utf-8 -*- impo...

Python中多线程thread与threading的实现方法

学过Python的人应该都知道,Python是支持多线程的,并且是native的线程。本文主要是通过thread和threading这两个模块来实现多线程的。 python的thread...

python如何让类支持比较运算

本文实例为大家分享了python类支持比较运算的具体代码,供大家参考,具体内容如下 案例:   有时我们希望自定义的类,实例间可以使用比较运算符进行比较,我们自定义比较的行为。   需求...