Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.58 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. # Form implementation generated from reading ui file 'mainwindow.ui'
  4. #
  5. # Created by: PyQt5 UI code generator 5.10.1
  6. #
  7. # WARNING! All changes made in this file will be lost!
  8.  
  9. import json
  10. import urllib.request
  11. import datetime
  12. import threading
  13. import time
  14. from PyQt5 import QtCore, QtGui, QtWidgets
  15.  
  16. class Threader(object):
  17.  
  18.     def __init__(self):
  19.         self.thr = threading.Thread(target=self.run, args=(), kwargs={})
  20.         #self.thr.daemon = True                            # Daemonize thread
  21.         self.thr.start()                                  # Start the execution
  22.  
  23.     def run(self):
  24.         ui.statusBar.showMessage("Connecting...")
  25.         time.sleep(1)
  26.         ui.btn_click()
  27.         time.sleep(1)
  28.  
  29.  
  30. class Ui_MainWindow(object):
  31.     def setupUi(self, MainWindow):
  32.        
  33.         MainWindow.setObjectName("MainWindow")
  34.         MainWindow.resize(181, 178)
  35.         self.centralWidget = QtWidgets.QWidget(MainWindow)
  36.         self.centralWidget.setObjectName("centralWidget")
  37.         self.label = QtWidgets.QLabel(self.centralWidget)
  38.         self.label.setGeometry(QtCore.QRect(0, 30, 181, 61))
  39.         font = QtGui.QFont()
  40.         font.setPointSize(36)
  41.         self.label.setFont(font)
  42.         self.label.setAlignment(QtCore.Qt.AlignCenter)
  43.         self.label.setObjectName("label")
  44.         self.pushButton = QtWidgets.QPushButton(self.centralWidget)
  45.         self.pushButton.setGeometry(QtCore.QRect(30, 100, 121, 41))
  46.         font = QtGui.QFont()
  47.         font.setPointSize(14)
  48.         self.pushButton.setFont(font)
  49.         self.pushButton.setObjectName("pushButton")
  50.         self.pushButton.clicked.connect(self.btn_click)
  51.         MainWindow.setCentralWidget(self.centralWidget)
  52.         self.statusBar = QtWidgets.QStatusBar(MainWindow)
  53.         self.statusBar.showMessage("Ready")
  54.         self.statusBar.setObjectName("statusBar")
  55.         MainWindow.setStatusBar(self.statusBar)
  56.         self.actionQuit = QtWidgets.QAction(MainWindow)
  57.         self.actionQuit.setObjectName("actionQuit")
  58.         #self.menuFile.addAction(self.actionQuit)
  59.         #self.menuBar.addAction(self.menuFile.menuAction())
  60.         self.retranslateUi(MainWindow)
  61.         QtCore.QMetaObject.connectSlotsByName(MainWindow)
  62.        
  63.        
  64.     def btn_click(self):
  65.        
  66.         self.statusBar.showMessage("Polling server...")
  67.         time.sleep(1)
  68.         with urllib.request.urlopen(
  69.         "http://api.wunderground.com/api/MYKEY/conditions/q/Canada/Calgary.json") as url:
  70.             s = url.read()
  71.         if s:
  72.             the_time = datetime.datetime.now().time().replace(second=0, microsecond=0).strftime("%H:%M")
  73.             self.statusBar.showMessage("Last check " + str(the_time))
  74.             j = json.loads(s)
  75.             #print(j["current_observation"]["temp_c"])
  76.             temperature = str(j["current_observation"]["temp_c"])
  77.             temperature += " C"
  78.             self.label.setText(temperature)
  79.            
  80.  
  81.     def retranslateUi(self, MainWindow):
  82.         _translate = QtCore.QCoreApplication.translate
  83.         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  84.         self.label.setText(_translate("MainWindow", "0.0 C"))
  85.         self.pushButton.setText(_translate("MainWindow", "Poll"))
  86.         self.actionQuit.setText(_translate("MainWindow", "Quit"))
  87.  
  88.  
  89. if __name__ == "__main__":
  90.     import sys
  91.     app = QtWidgets.QApplication(sys.argv)
  92.     MainWindow = QtWidgets.QMainWindow()
  93.     ui = Ui_MainWindow()
  94.     ui.setupUi(MainWindow)
  95.     MainWindow.show()
  96.     threader = Threader()
  97.     sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement