当前位置:首页 >> 脚本专栏

PyQt4实时显示文本内容GUI的示例

首先创建一个txt.py文件用来保存显示整理好的爬虫内容:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
txt_name = ['摄影师李小蕾',
   'Match韩风',
   '师永刚',
   'CCTV5体育新闻',
   '林宥嘉YogaLin',
   '杭州微博城事',
   '五月天',
   '美女新视觉',
   '聊心情话',
   '人民网',
   '央视新闻',
   '贾玲',
   '中国广州发布',
   '丁晞文',
   'AzureJK_田柾国资源博',
   'BB_Korea美图',
   '张杰',
   '文摘精选',
   '卫视大揭秘',
   'CHERE_MAMIE_for_Lay']
 
txt = ['#李小蕾摄影课堂#记录最美的一瞬间,全国各地学员作品推荐。[挤眼]图1:西安学员 @媛小晨儿 图2:广州学员 @is_叶子 图3:江苏学员 @四哥哥儿 图4:河北学员 @子煜Smile 对于大场景的照片利用留白可以显意境,但我更喜欢人物眼神的捕捉和主体的抓拍,让照片更有记忆点。[挤眼]我会一直认真做好教学,建立一个好的学习圈子,让学生更强大,青出于蓝胜于蓝。每天都会花半天时间在工作台一对一辅导。',
  '"htmlcode">
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
from PyQt4 import QtCore, QtGui
import time
import txt
 
 
class MyWidget(QtGui.QWidget):
 def __init__(self, parent=None):
  super(MyWidget, self).__init__(parent)
 
  #self.resize(800, 500)
  self.setWindowTitle('实时显示热门微博内容')
 
  self.timer = QtCore.QTimer()
  #显示微博内容
  self.txt = QtGui.QTextEdit()
  #显示微博关键字
  self.txt_key = QtGui.QLineEdit()
  #显示微博用户
  self.txt_name = QtGui.QLineEdit()
 
  label1 = QtGui.QLabel("微博用户名:")
  label2 = QtGui.QLabel("关键字:")
  label3 = QtGui.QLabel("微博内容:")
  otherLabel = QtGui.QLabel("备注:")
  otherLabel.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken)
 
  labelCol = 0
  contentCol = 1
 
  leftLayout = QtGui.QGridLayout()
  leftLayout.addWidget(label1, 0, labelCol)
  leftLayout.addWidget(self.txt_name, 0, contentCol, 1, 40)
  leftLayout.addWidget(label2, 1, labelCol)
  leftLayout.addWidget(self.txt_key, 1, contentCol, 1, 40)
  leftLayout.addWidget(label3, 2, labelCol)
  leftLayout.addWidget(self.txt, 2, contentCol, 1, 40)
  leftLayout.addWidget(otherLabel, 5, labelCol, 1, 40)
  leftLayout.setColumnStretch(0, 1)
  leftLayout.setColumnStretch(1, 3)
 
  self.ok_button = QtGui.QPushButton("开始爬虫", self)
  self.closePushButton = QtGui.QPushButton("关闭", self)
 
  rightLayout = QtGui.QVBoxLayout()
  rightLayout.setMargin(10)
  rightLayout.addStretch(7)
  rightLayout.addWidget(self.ok_button)
  rightLayout.addWidget(self.closePushButton)
 
  mainLayout = QtGui.QGridLayout(self)
  mainLayout.setMargin(15)
  mainLayout.setSpacing(15)
  mainLayout.addLayout(leftLayout, 0, 0)
  mainLayout.addLayout(rightLayout, 0, 1)
  mainLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
 
  self.connect(self.ok_button, QtCore.SIGNAL('clicked()'),self, QtCore.SLOT("on_ok_button_clicked()"))
  self.connect(self.closePushButton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("close()"))
 
 
 # 自定义实现爬虫的槽函数
 @QtCore.pyqtSlot()
 def on_ok_button_clicked(self):
  self.txt.clear()
  for i in range(len(txt.txt)):
   #进行添加内容
   self.txt_name.setText(txt.txt_name[i])
   self.txt.setText(' '+txt.txt[i])
   self.txt_key.setText(txt.txt_key[i])
   # 下面两条语句用于设置单条微博显示时间
   QtGui.QApplication.processEvents()
   time.sleep(2)
   self.txt.clear()
 
if __name__ == "__main__":
 import sys
 app = QtGui.QApplication(sys.argv)
 app.aboutToQuit.connect(app.deleteLater)
 w = MyWidget()
 w.show()
 app.exec_()

显示效果如下(说明:每隔四秒可以显示不同内容,程序中可以设置):

PyQt4实时显示文本内容GUI的示例

PyQt4实时显示文本内容GUI的示例

PyQt4实时显示文本内容GUI的示例

以上这篇PyQt4实时显示文本内容GUI的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。