Advertisement
ylSiew

Untitled

May 11th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.16 KB | None | 0 0
  1. from PyQt4.QtCore import *
  2. from PyQt4.QtGui import *    
  3. import sys
  4.  
  5. from ctypes import pythonapi, c_void_p, py_object, windll, cast
  6. from functools import partial
  7. import time
  8.  
  9.  
  10. class MainWindow(QWidget):
  11.     def __init__(self, parent=None, *args):
  12.         super(MainWindow, self).__init__()
  13.  
  14.         the2 = ['sfas', 'vdavas', 'dasf', 'tqtw', 'fdgagd']
  15.         the = ['sfafas', 'favv', 'v', 'sacv', 'avasv']
  16.  
  17.         cmbBox = QComboBox()
  18.         cmbBox2 = QComboBox()
  19.         showbtn = QPushButton('open popup')
  20.  
  21.         cmbBox.insertItems(0, the)
  22.         cmbBox2.insertItems(0, the2)
  23.  
  24.         layout = QVBoxLayout()
  25.         layout.addWidget(cmbBox)
  26.         layout.addWidget(cmbBox2)
  27.         layout.addWidget(showbtn)
  28.         self.setLayout(layout)
  29.  
  30.         self.setWindowFlags(Qt.WindowStaysOnTopHint)
  31.  
  32.         showbtn.clicked.connect(partial(self.showCmbBoxPopup, cmbBox2))
  33.  
  34.  
  35.     def showCmbBoxPopup(self, cmbbox):
  36.             cmbbox.showPopup()
  37.  
  38.  
  39. class MyWorkerThread(QThread):
  40.     def __init__(self, app):
  41.         super(MyWorkerThread, self).__init__(app)
  42.  
  43.         self.app = app
  44.        
  45.     def run(self):    
  46.         self.timer= QTimer()
  47.         print self.timer.thread()
  48.         # self.timer.setSingleShot(False)
  49.         self.timer.timeout.connect(self.doWork)
  50.         self.timer.start(3000)
  51.         self.exec_()
  52.  
  53.     def doWork(self):
  54.         print "Work!"
  55.         # this method runs once every length of the interval defined.
  56.  
  57.         for widget in self.app.topLevelWidgets():
  58.             comboboxes = widget.findChildren(QComboBox)
  59.             # print comboboxes
  60.  
  61.             if not widget.isVisible():
  62.  
  63.                 widget.show()
  64.  
  65.                 for cmbbox in comboboxes:
  66.                     cmbbox.showPopup()
  67.                     cmbbox.hidePopup()
  68.             else:
  69.                 widget.hide()
  70.                 for cmbbox in comboboxes:
  71.                     cmbbox.showPopup()
  72.                     cmbbox.hidePopup()
  73.  
  74.  
  75.  
  76. def main():
  77.     app = QApplication(sys.argv)
  78.  
  79.     a = MyWorkerThread(app)
  80.     a.start()
  81.  
  82.     w = MainWindow()
  83.     w.show()
  84.  
  85.     app.exec_()
  86.  
  87.  
  88. if __name__ == "__main__":
  89.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement