2016-07-20 5 views
0

ブラウザーでローカルhtmlファイルを開き、5秒後にそのウィンドウを閉じるpythonスクリプトを作りたいと思います。フルスクリーンWebページを5秒間表示してからウィンドウを閉じる(python)

私はself.close()メソッドを試みたと私は「time.sleep()」それが唯一のWebコンテンツ

の表示が遅れますを追加する場合はここに私のコードは(私は初心者だのです、申し訳ありません)

import sys 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
from PyQt4.QtWebKit import * 
import urllib 
import time 


class Window(QWidget): 
    def __init__(self, url, dur): 
     super(Window, self).__init__() 
     view = QWebView(self) 
     layout = QVBoxLayout(self) 
     layout.setContentsMargins(0, 0, 0, 0) 
     layout.addWidget(view) 

     html = urllib.urlopen(url).read()  
     view.setHtml(html) 
     time.sleep(dur) 
     self.close() 


def main(url, dur): 
    app = QApplication(sys.argv) 
    window = Window(url, dur) 
    window.showFullScreen() 
    app.exec_() 

main('test.html', 5) 

お勧めはありますか?ご覧のとおり、コンストラクタでurlとduration(sleep)の両方を渡したいと思っています。

+0

を(msec) 'となります。これはブラウザを実行し続ける必要があり、5秒後に閉じることができます。 –

答えて

0

シングルショットタイマー(間隔はミリ秒である)を使用します代わりに() `、PyQt4.QtTest輸入QTest`から` `してみてくださいtime.sleepを使用し、` QTest.qWaitを使用しての

class Window(QWidget): 
    def __init__(self, url, dur): 
     ... 
     view.setHtml(html) 
     QTimer.singleShot(dur * 1000, self.close) 
+0

それでした!ありがとう! :) – Stichy

関連する問題