浏览代码

window 추가 및 qt designer

tobby48 6 年前
父节点
当前提交
83e6752038

二进制
src/kr/co/swh/lecture/python/pyqt5/facebook.png 查看文件


二进制
src/kr/co/swh/lecture/python/pyqt5/instagram.png 查看文件


+ 53
- 0
src/kr/co/swh/lecture/python/pyqt5/mainwindow4.py 查看文件

@@ -0,0 +1,53 @@
1
+import sys
2
+from PyQt5.QtWidgets import *
3
+from PyQt5.QtGui import QIcon
4
+import webbrowser
5
+
6
+class MyWindow(QMainWindow):
7
+    def __init__(self):
8
+        super().__init__()
9
+        self.initUI()
10
+     
11
+    def initUI(self):
12
+        self.setWindowTitle('SWH Academy Window.')
13
+        self.setGeometry(200, 200, 300, 200)
14
+        
15
+        self.statusBar().showMessage(' Copyright © SWH Academy.')
16
+#         self.statusBar = QStatusBar(self)
17
+#         self.statusBar.showMessage(' Copyright © SWH Academy.')
18
+#         self.setStatusBar(self.statusBar)
19
+     
20
+        twitterAction = QAction(QIcon('twitter.png'), '트위터', self)
21
+        twitterAction.setShortcut('Ctrl+T')
22
+        twitterAction.setStatusTip('트위터')
23
+        twitterAction.triggered.connect(self.twitterWebBrowser)
24
+        
25
+        facebookAction = QAction(QIcon('facebook.png'), '페이스 북', self)
26
+        facebookAction.setShortcut('Ctrl+F')
27
+        facebookAction.setStatusTip('페이스 북')
28
+        
29
+        instagramAction = QAction(QIcon('instagram.png'), '인스타그램', self)
30
+        instagramAction.setShortcut('Ctrl+I')
31
+        instagramAction.setStatusTip('인스타그램')
32
+
33
+        menubar = self.menuBar()
34
+#         self.menubar1 = QMenuBar(self)
35
+        menubar.setNativeMenuBar(False)
36
+        menu = menubar.addMenu('&Site')
37
+        menu.addAction(twitterAction)
38
+        menu.addAction(facebookAction)
39
+        menu.addAction(instagramAction)
40
+        
41
+        self.siteToolbar = self.addToolBar('사이트')
42
+        self.siteToolbar.addAction(twitterAction)
43
+        self.siteToolbar.addAction(facebookAction)
44
+        self.siteToolbar.addAction(instagramAction)
45
+        
46
+    def twitterWebBrowser(self):
47
+        webbrowser.open('http://twitter.com')
48
+        
49
+if __name__ == '__main__':
50
+    app = QApplication(sys.argv)
51
+    window = MyWindow()
52
+    window.show()
53
+    sys.exit(app.exec_())

+ 16
- 0
src/kr/co/swh/lecture/python/pyqt5/qtdesigner.py 查看文件

@@ -0,0 +1,16 @@
1
+import sys
2
+from PyQt5.QtWidgets import *
3
+from PyQt5 import uic
4
+
5
+form = uic.loadUiType("test.ui")[0]
6
+
7
+class MyWindow(QMainWindow, form):
8
+    def __init__(self):
9
+        super().__init__()
10
+        self.setupUi(self)
11
+     
12
+if __name__ == '__main__':
13
+    app = QApplication(sys.argv)
14
+    window = MyWindow()
15
+    window.show()
16
+    sys.exit(app.exec_())

+ 91
- 0
src/kr/co/swh/lecture/python/pyqt5/test.ui 查看文件

@@ -0,0 +1,91 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<ui version="4.0">
3
+ <class>MainWindow</class>
4
+ <widget class="QMainWindow" name="MainWindow">
5
+  <property name="geometry">
6
+   <rect>
7
+    <x>0</x>
8
+    <y>0</y>
9
+    <width>400</width>
10
+    <height>300</height>
11
+   </rect>
12
+  </property>
13
+  <property name="windowTitle">
14
+   <string>MainWindow</string>
15
+  </property>
16
+  <widget class="QWidget" name="centralwidget">
17
+   <widget class="QWidget" name="horizontalLayoutWidget">
18
+    <property name="geometry">
19
+     <rect>
20
+      <x>-1</x>
21
+      <y>-1</y>
22
+      <width>401</width>
23
+      <height>111</height>
24
+     </rect>
25
+    </property>
26
+    <layout class="QHBoxLayout" name="horizontalLayout">
27
+     <item>
28
+      <widget class="QPushButton" name="pushButton_3">
29
+       <property name="text">
30
+        <string>PushButton</string>
31
+       </property>
32
+      </widget>
33
+     </item>
34
+     <item>
35
+      <widget class="QPushButton" name="pushButton_2">
36
+       <property name="text">
37
+        <string>PushButton</string>
38
+       </property>
39
+      </widget>
40
+     </item>
41
+     <item>
42
+      <widget class="QPushButton" name="pushButton">
43
+       <property name="text">
44
+        <string>PushButton</string>
45
+       </property>
46
+      </widget>
47
+     </item>
48
+    </layout>
49
+   </widget>
50
+   <widget class="QWidget" name="verticalLayoutWidget">
51
+    <property name="geometry">
52
+     <rect>
53
+      <x>0</x>
54
+      <y>109</y>
55
+      <width>401</width>
56
+      <height>171</height>
57
+     </rect>
58
+    </property>
59
+    <layout class="QVBoxLayout" name="verticalLayout">
60
+     <item>
61
+      <widget class="QRadioButton" name="radioButton">
62
+       <property name="text">
63
+        <string>RadioButton</string>
64
+       </property>
65
+      </widget>
66
+     </item>
67
+     <item>
68
+      <widget class="QRadioButton" name="radioButton_2">
69
+       <property name="text">
70
+        <string>RadioButton</string>
71
+       </property>
72
+      </widget>
73
+     </item>
74
+    </layout>
75
+   </widget>
76
+  </widget>
77
+  <widget class="QMenuBar" name="menubar">
78
+   <property name="geometry">
79
+    <rect>
80
+     <x>0</x>
81
+     <y>0</y>
82
+     <width>400</width>
83
+     <height>21</height>
84
+    </rect>
85
+   </property>
86
+  </widget>
87
+  <widget class="QStatusBar" name="statusbar"/>
88
+ </widget>
89
+ <resources/>
90
+ <connections/>
91
+</ui>

二进制
src/kr/co/swh/lecture/python/pyqt5/twitter.png 查看文件