from PyQt5 import QtWidgets, uic
import sys
from random import random
from PyQt5.Qt import QMessageBox
form_window = uic.loadUiType("pyqt08.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def myclick(self):
fir = self.le_first.text()
las = self.le_last.text()
fir_n = int(fir)
las_n = int(las)
str = ""
for i in range(fir_n,las_n+1):
su = i
su_n = int(su)
for i in range(1,su_n+1):
# print("*", end="")
str += ("*")
str +="\n"
# print(str)
#QPlainTextEdit 로 사용할 시 setText가 아닌 이 방식으로 사용해야 함
self.pte.setPlainText(str)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
from PyQt5 import QtWidgets, uic
import sys
from random import random
from PyQt5.Qt import QMessageBox
form_window = uic.loadUiType("pyqt08.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def getStar(self,cnt):
ret = ""
for i in range(cnt):
ret += "*"
ret += "\n"
return ret
def myclick(self):
f = self.le_first.text()
l = self.le_last.text()
ff = int(f)
ll = int(l)
txt = ""
for i in range(ff,ll+1):
txt += self.getStar(i)
self.pte.setPlainText(txt)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QMainWindow
from random import random
form_class = uic.loadUiType("pyqt09.ui")[0]
class WindowClass(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclick)
def myclick(self):
my = self.le_mine.text()
com = int(random()*3)
res = ""
if com == 0: com_str = "가위"
elif com == 1: com_str = "바위"
else: com_str = "보"
if my=="가위" and com_str=="보": res = "이김"
elif my=="바위" and com_str=="가위": res = "이김"
elif my=="보" and com_str=="바위": res = "이김"
elif my=="가위" and com_str=="바위": res = "짐"
elif my=="바위" and com_str=="보": res = "짐"
elif my=="보" and com_str=="가위": res = "짐"
else : res = "비김"
self.le_com.setText(com_str)
self.le_result.setText(res)
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = WindowClass()
myWindow.show()
app.exec_()
from PyQt5 import QtWidgets, uic
import sys
form_window = uic.loadUiType("pyqt01.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pb.clicked.connect(self.myclick)
self.show()
self.clicked_once = False # 버튼이 클릭되었는지 여부를 저장하는 변수
def myclick(self):
if not self.clicked_once: # 처음 클릭되었을 때
self.lbl.setText("Good Evening!")
self.clicked_once = True
else: # 두 번째 클릭되었을 때
self.lbl.setText("Good Morning!")
self.clicked_once = False
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
결과 화면1
버튼 클릭 시 숫자 1 증가
from PyQt5 import QtWidgets, uic
import sys
form_window = uic.loadUiType("pyqt02.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def myclick(self):
sum = int(self.le.text())
sum += 1
self.le.setText(str(sum))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
from PyQt5 import QtWidgets, uic
import sys
form_window = uic.loadUiType("pyqt04.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def myclick(self):
su1 = self.le.text()
su2 = int(su1)
txt = ""
for i in range(1,9+1):
txt += "{}x{}={}\n".format(su1,i,i*su2)
self.te.setText(txt)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
결과 화면4
로또 번호 출력하기
from PyQt5 import QtWidgets, uic
import sys
from random import random
form_window = uic.loadUiType("pyqt05.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def myclick(self):
su = list(range(1, 45+1))
for i in range(1,999):
rnd = int(random()*45)
temp = su[0];
su[0] = su[rnd]
su[rnd] = temp
# print(su)
self.lcd1.display(su[0])
self.lcd2.display(su[1])
self.lcd3.display(su[2])
self.lcd4.display(su[3])
self.lcd5.display(su[4])
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
결과 화면5
n에서 m까지 a배수의 합 구하기
from PyQt5 import QtWidgets, uic
import sys
from random import random
form_window = uic.loadUiType("pyqt06.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb.clicked.connect(self.myclick)
def myclick(self):
su1 = int(self.le1.text())
su2 = int(self.le2.text())
su3 = int(self.le3.text())
sum = 0
arr = list(range(su1, int(su2+1)))
for i in arr:
if i%su3 == 0:
print(i)
sum += i
self.le4.setText(str(sum))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())
결과 화면6
번호 입력 후 버튼 클릭 시 알람창 출력하기
from PyQt5 import QtWidgets, uic
import sys
from random import random
from PyQt5.Qt import QMessageBox
form_window = uic.loadUiType("pyqt07.ui")[0]
class UiMainWindow(QtWidgets.QMainWindow, form_window):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.pb1.clicked.connect(self.myclick)
self.pb2.clicked.connect(self.myclick)
self.pb3.clicked.connect(self.myclick)
self.pb4.clicked.connect(self.myclick)
self.pb5.clicked.connect(self.myclick)
self.pb6.clicked.connect(self.myclick)
self.pb7.clicked.connect(self.myclick)
self.pb8.clicked.connect(self.myclick)
self.pb9.clicked.connect(self.myclick)
self.pb0.clicked.connect(self.myclick)
self.pb_call.clicked.connect(self.mycall)
def myclick(self):
str_old = self.le.text()
str_new = self.sender().text() # sender : 기존에 존재하는 text의 값을 가져옴
self.le.setText(str_old+str_new)
def mycall(self):
str = self.le.text()
QMessageBox.about(self,'Calling',str) # 파이썬 alert창
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = UiMainWindow()
sys.exit(app.exec_())