main01.py 굿모닝 굿이브닝
# import sys
# from PyQt5 import uic
# from PyQt5.QtWidgets import QApplication, QMainWindow
#
#
# form_class = uic.loadUiType("./main01.ui")[0]
#
# class WindowClass(QMainWindow, form_class):
# def __init__(self):
# super().__init__()
# self.setupUi(self)
#
# self.pb.clicked.connect(self.click)
#
# def click(self):
# self.lbl.setText("Good evening")
#
#
# if __name__ == "__main__":
# app = QApplication(sys.argv)
# myWindow = WindowClass()
# myWindow.show()
# app.exec_()
#
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
#UI파일 연결
#단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다.
form_class = uic.loadUiType("main01.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclcik) #파이썬 문법!
def myclcik(self):
self.lbl.setText("Good Evening")
print(self.lbl)
if __name__ == "__main__" :
#QApplication : 프로그램을 실행시켜주는 클래스
app = QApplication(sys.argv)
#WindowClass의 인스턴스 생성
myWindow = WindowClass()
#프로그램 화면을 보여주는 코드
myWindow.show()
#프로그램을 이벤트루프로 진입시키는(프로그램을 작동시키는) 코드
app.exec_()
main01.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="lbl">
<property name="geometry">
<rect>
<x>120</x>
<y>90</y>
<width>101</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Good morning</string>
</property>
</widget>
<widget class="QPushButton" name="pb">
<property name="geometry">
<rect>
<x>230</x>
<y>90</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>click</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
main02.py 버튼 클릭시 1++
# import sys
# from PyQt5 import uic
# from PyQt5.QtWidgets import QApplication, QMainWindow
#
#
# form_class = uic.loadUiType("./main02.ui")[0]
#
# class WindowClass(QMainWindow, form_class):
# def __init__(self):
# super().__init__()
# self.setupUi(self)
#
# self.pb.clicked.connect(self.click)
#
# def click(self):
# letext = self.le.text();
# lenum = int(letext)
#
# lenum += 1
#
# self.le.setText(str(lenum))
#
# if __name__ == "__main__":
# app = QApplication(sys.argv)
# myWindow = WindowClass()
# myWindow.show()
# app.exec_()
#
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
#UI파일 연결
#단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다.
form_class = uic.loadUiType("main02.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclcik) #파이썬 문법!
def myclcik(self):
# print(self.le.getText()) #getText() 여기서 죽죠
# print(self.le.text()) #기준이 c++이였어서! 자바시작문법자는 오잉? ㅎㅎ
a = self.le.text()
aa = int(a)
aa += 1
self.le.setText(str(aa))
if __name__ == "__main__" :
#QApplication : 프로그램을 실행시켜주는 클래스
app = QApplication(sys.argv)
#WindowClass의 인스턴스 생성
myWindow = WindowClass()
#프로그램 화면을 보여주는 코드
myWindow.show()
#프로그램을 이벤트루프로 진입시키는(프로그램을 작동시키는) 코드
app.exec_()
main02.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLineEdit" name="le">
<property name="geometry">
<rect>
<x>150</x>
<y>110</y>
<width>113</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>100</string>
</property>
</widget>
<widget class="QPushButton" name="pb">
<property name="geometry">
<rect>
<x>290</x>
<y>110</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>plus</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
main03.py 곱하기예제
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
#UI파일 연결
#단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다.
form_class = uic.loadUiType("main03.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclcik) #파이썬 문법!
def myclcik(self):
# print("myclcik")
a = self.le1.text()
b = self.le2.text()
aa = int(a)
bb = int(b)
mul = aa * bb
self.le3.setText(str(mul))
if __name__ == "__main__" :
#QApplication : 프로그램을 실행시켜주는 클래스
app = QApplication(sys.argv)
#WindowClass의 인스턴스 생성
myWindow = WindowClass()
#프로그램 화면을 보여주는 코드
myWindow.show()
#프로그램을 이벤트루프로 진입시키는(프로그램을 작동시키는) 코드
app.exec_()
main03.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>451</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLineEdit" name="le1">
<property name="geometry">
<rect>
<x>110</x>
<y>50</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="le2">
<property name="geometry">
<rect>
<x>270</x>
<y>50</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="le3">
<property name="geometry">
<rect>
<x>470</x>
<y>50</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="lbl">
<property name="geometry">
<rect>
<x>240</x>
<y>50</y>
<width>21</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>*</string>
</property>
</widget>
<widget class="QPushButton" name="pb">
<property name="geometry">
<rect>
<x>390</x>
<y>50</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>=</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
main04.py 홀짝게임
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
import random
#UI파일 연결
#단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다.
form_class = uic.loadUiType("main04.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclcik) #파이썬 문법!
def myclcik(self):
#print("myclcik")
com =""
mine = self.le_mine.text()
result =""
#하나하나 단위 테스트 하면서 짜볼것!
rnd = random.random()
if rnd > 0.5:
com = "홀"
else:
com = "짝"
if com == mine:
result ="승리"
else:
result ="패배"
self.le_com.setText(com)
self.le_result.setText(result)
#print(com, mine, result)
if __name__ == "__main__" :
#QApplication : 프로그램을 실행시켜주는 클래스
app = QApplication(sys.argv)
#WindowClass의 인스턴스 생성
myWindow = WindowClass()
#프로그램 화면을 보여주는 코드
myWindow.show()
#프로그램을 이벤트루프로 진입시키는(프로그램을 작동시키는) 코드
app.exec_()
main04.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLineEdit" name="le_mine">
<property name="geometry">
<rect>
<x>210</x>
<y>90</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="le_com">
<property name="geometry">
<rect>
<x>210</x>
<y>130</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="le_result">
<property name="geometry">
<rect>
<x>210</x>
<y>180</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>150</x>
<y>90</y>
<width>56</width>
<height>12</height>
</rect>
</property>
<property name="text">
<string>나 :</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>150</x>
<y>140</y>
<width>56</width>
<height>12</height>
</rect>
</property>
<property name="text">
<string>컴 :</string>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>150</x>
<y>190</y>
<width>56</width>
<height>12</height>
</rect>
</property>
<property name="text">
<string>결과 :</string>
</property>
</widget>
<widget class="QPushButton" name="pb">
<property name="geometry">
<rect>
<x>150</x>
<y>230</y>
<width>171</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>게임하기</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
main05.py 구구단
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
import random
#UI파일 연결
#단, UI파일은 Python 코드 파일과 같은 디렉토리에 위치해야한다.
form_class = uic.loadUiType("main05.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclcik) #파이썬 문법!
def myclcik(self):
#print("myclcik")
dan = self.le.text()
print(dan)
idan = int(dan)
print(idan)
# 죽어버려서 str로 감쌌음...
txt = ""
# 단을 쓰는 방법은 2가지다! 아래와 같음 ㅎㅎㅎ 확인!
txt += "{} * {} = {}\n".format(dan,1,idan*1)
txt += "{} * {} = {}\n".format(dan,2,idan*2)
txt += dan+" * "+str(3)+" = "+str(3*idan)+"\n"
txt += dan+" * "+str(4)+" = "+str(4*idan)+"\n"
txt += dan+" * "+str(5)+" = "+str(5*idan)+"\n"
txt += dan+" * "+str(6)+" = "+str(6*idan)+"\n"
txt += dan+" * "+str(7)+" = "+str(7*idan)+"\n"
txt += dan+" * "+str(8)+" = "+str(8*idan)+"\n"
txt += dan+" * "+str(9)+" = "+str(9*idan)+"\n"
self.te.setText(txt)
if __name__ == "__main__" :
#QApplication : 프로그램을 실행시켜주는 클래스
app = QApplication(sys.argv)
#WindowClass의 인스턴스 생성
myWindow = WindowClass()
#프로그램 화면을 보여주는 코드
myWindow.show()
#프로그램을 이벤트루프로 진입시키는(프로그램을 작동시키는) 코드
app.exec_()
main05.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="lbl">
<property name="geometry">
<rect>
<x>170</x>
<y>120</y>
<width>56</width>
<height>12</height>
</rect>
</property>
<property name="text">
<string>단수</string>
</property>
</widget>
<widget class="QLineEdit" name="le">
<property name="geometry">
<rect>
<x>230</x>
<y>120</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="pb">
<property name="geometry">
<rect>
<x>170</x>
<y>160</y>
<width>171</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>출력하기</string>
</property>
</widget>
<widget class="QTextEdit" name="te">
<property name="geometry">
<rect>
<x>170</x>
<y>210</y>
<width>171</width>
<height>161</height>
</rect>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>