1- #!/usr/bin/env python
1+ #!/usr/bin/env pythonw
22#-*-coding: utf-8 -*-
33import sys
44import os .path
55import re
66from optparse import OptionParser
77from PyQt5 .QtCore import QUrl
8- from PyQt5 .QtWidgets import QApplication , QFileDialog , qApp , QAction , QMainWindow , QStatusBar , QVBoxLayout , QSplitter , QMessageBox
8+ from PyQt5 .QtWidgets import QApplication , QFileDialog , qApp , QAction , QMainWindow , QStatusBar , QVBoxLayout , QSplitter , QMessageBox , QInputDialog , QLineEdit
99from plus .kiwoom import KiwoomWebViewPlus
1010
1111class Window (QMainWindow ):
@@ -14,16 +14,7 @@ def __init__(self):
1414 self .view = KiwoomWebViewPlus ()
1515 self .initUI ()
1616
17- def initUI (self ):
18- self .setMinimumSize (1024 , 640 )
19- self .setWindowTitle ("QWebview-plus for Kiwoom" )
20- self .setCentralWidget (self .view )
21-
22- self .view .statusbar = QStatusBar ()
23- self .setStatusBar (self .view .statusbar )
24- self .view .statusbar .showMessage ("[F4키] 개발자 도구, [F5키] 화면 Refresh" )
25- # self.view.devTool.setVisible(True)
26-
17+ def menuUI (self ):
2718 openfile_action = QAction ('&Open File' , self )
2819 openfile_action .setShortcut ('Ctrl+O' )
2920 openfile_action .setStatusTip ('Open files' )
@@ -35,22 +26,28 @@ def initUI(self):
3526 openurl_action .triggered .connect (self .onOpenUrl )
3627 # exit_action = QAction(QIcon('exit.png'), "&Exit", self)
3728
29+ quit_action = QAction ('&Quit' , self )
30+ quit_action .setShortcut ('Ctrl+Q' )
31+ quit_action .setStatusTip ('Exit application' )
32+ quit_action .triggered .connect (qApp .quit )
33+
3834 fileMenu = self .menuBar ().addMenu ('Menu' )
3935 fileMenu .addAction (openfile_action )
4036 fileMenu .addAction (openurl_action )
37+ fileMenu .addAction (quit_action )
38+
39+ def initUI (self ):
40+ self .setMinimumSize (1024 , 640 )
41+ self .setWindowTitle ("QWebview-plus for Kiwoom" )
42+ self .setCentralWidget (self .view )
43+
44+ self .view .statusbar = QStatusBar ()
45+ self .setStatusBar (self .view .statusbar )
46+ self .view .statusbar .showMessage ("[F4키] 개발자 도구, [F5키] 화면 Refresh" )
47+ # self.view.devTool.setVisible(True)
4148
42-
49+ self . menuUI ()
4350
44- # view split
45- # self.splitter = QSplitter(self)
46- # self.splitter.setOrientation(Qt.Horizontal)
47- # layout = QVBoxLayout(self)
48- # layout.setContentsMargins(0,0,0,0)
49- # layout.addWidget(self.splitter)
50- # self.splitter.addWidget(self.view)
51- # self.splitter.addWidget(self.view.webInspector)
52- # self.view.webInspector.setVisible(True)
53- # self.splitter.setSizes([640,640])
5451
5552 def onOpenFile (self , event ):
5653 vOpenfilename = QFileDialog .getOpenFileName (self , 'Open File' , filter = "*.*" )
@@ -60,35 +57,16 @@ def onOpenFile(self, event):
6057 window .view .load (QUrl .fromLocalFile (vOpenfilename [0 ]))
6158
6259 def onOpenUrl (self , event ):
63- vOpenfilename = QFileDialog .getOpenFileName (self , 'Open Url' , filter = "*.*" )
64- if vOpenfilename == "" :
65- return
66- if os .path .isfile (vOpenfilename [0 ]):
67- window .view .load (QUrl .fromLocalFile (vOpenfilename [0 ]))
60+ url , okPressed = QInputDialog .getText (self , "Open URL" ,"인터넷 주소를 입력해주세요" , QLineEdit .Normal , "" )
61+ if okPressed and url != "" :
62+ prefix = "" if bool (re .match ('^(?:http)s?://' , url )) else "http://"
63+ window .view .load (QUrl (prefix + url ))
6864
69- def closeEvent (self , event ):
70- reply = QMessageBox .question (self , 'Message' , "QWebview를 종료하시겠습니까?" ,QMessageBox .Yes | QMessageBox .No , QMessageBox .No )
71- if reply == QMessageBox .Yes :
72- event .accept ()
73- else :
74- event .ignore ()
7565
7666if __name__ == "__main__" :
7767 #parsing command line arguments
7868 app = QApplication (sys .argv )
7969 window = Window ()
8070 window .show ()
8171 sys .exit (app .exec_ ())
82- # elif os.path.isfile(opt.file):
83- # if opt.url:
84- # prefix = "" if bool(re.match('^(?:http|ftp)s?://', opt.url)) else "http://"
85- # window.view.load(QUrl(prefix + opt.url))
86- # window.show()
87- # sys.exit(app.exec_())
88- # elif os.path.isfile(opt.file):
89- # window.view.load(QUrl.fromLocalFile(os.path.join(os.path.dirname( os.path.abspath( __file__ ) ), opt.file)))
90- # window.show()
91- # sys.exit(app.exec_())
92- # else:
93- # parser.print_help()
94- # sys.exit()
72+
0 commit comments