UI18 파이썬으로 PER 밴드 차트 그리기 3 - qt designer로 UI 만들기 2022.09.07 - [취미로 하는 파이썬/투자 실험실 with 파이썬] - 파이썬으로 PER 밴드 차트 그리기 2 - 수정주가 가져와서 선형으로 그래프 그리기 파이썬으로 PER 밴드 차트 그리기 2 - 수정주가 가져와서 선형으로 그래프 그리기 2022.09.05 - [취미로 하는 파이썬/투자 실험실 with 파이썬] - 파이썬으로 PER 밴드 만들기 1 파이썬으로 PER 밴드 만들기 1 파이썬으로 PER 밴드를 만들어 보았습니다. https://m.blog.naver.com/PostView.nave.. dotsnlines.tistory.com 지난번 포스트에서 얘기한 것 처럼 UI를 만드는 방법입니다. 컨센서스도 가져와서 미래 예측까지 보여주려고 했는데, 잘 안되네요. 이 부분은 나중에 여유가 생기면.. 2022. 9. 19. 파이썬으로 여러 폴더 빠르고 쉽게 만들기 컴퓨터로 작업을 하다 보면 수많은 폴더를 만들어야 할 때가 있습니다. 이런일이 반복된다면 파이썬으로 프로그래밍을 해서 업무를 좀 더 효율화 시킬 수 있습니다. 우선 만들 폴더의 명을 엑셀파일에 입력하도록 하겠습니다. C:D 열에 순서를 나타내는 번호와 폴더 이름을 입력했습니다. 주의할 점은 C열에 숫자는 문자입니다. 만약 숫자를 적으면 파이썬 코드에서 문자로 변경해 주어야 합니다. 수십개나 수백개를 하더라도 속도차이는 거의 없습니다. 일단 예시로 5개 폴더만 만들어 보겠습니다. from openpyxl import load_workbook from tkinter import * from tkinter import filedialog import os 모듈은 엑셀을 열어야 하니 openpyxl에서 기존 만.. 2021. 10. 14. tkinter - 섭씨 온도를 화씨온도로 변환하는 프로그램 만들기 tkinter를 응용해서 섭씨온도(℃)를 입력하면, 화씨온도(℉)로 변환해주는 프로그램을 만들어 보도록 하겠습니다. from tkinter import * win = Tk() win.title('섭씨 온도를 화씨 온도로 변환') win.geometry('400x100') lbl_c = Label(win, text="섭씨온도", width=10) lbl_f = Label(win, text="화씨온도") lbl_c.grid(row=0, column=0) lbl_f.grid(row=1, column=0) ent_c = Entry(win, width=20) ent_f = Entry(win) ent_c.grid(row=0, column=1) ent_f.grid(row=1, column=1) btn_tr = But.. 2021. 10. 12. tkinter - 레이블, 엔트리, 버튼 만들기 지난 포스트에 이어서 tkinter 사용법에 대해서 적어 보도록 하겠습니다. 지난 포스트는 아래 링크를 참고하시기 바랍니다. tkinter 첫번째 - 윈도우 창 만들기 from tkinter import * win.mainloop() 우선 창을 만들고, from tkinter import * win = Tk() win.title('Multi Widget') win.geometry('300x200') win.mainloop() 창의 크기와 이름을 지정합니다. 이렇게 만든 창에, 'Lable'과 'Button' 그리고 텍스트를 입력할 수 있는 'Entry'를 넣어 보도록 하겠습니다. lbl = Label(win, text='label') lbl.pack() #레이블을 윈도에 적정하게 배치 레이블은 lbl이라.. 2021. 10. 6. tkinter - 윈도우 창 만들기 파이썬으로 유용한 프로그램을 만들더라도 사용할때마다 파이참을 열어야 한다면 여간 번거러운 일이 아닐 수 있습니다. 파이썬으로 만든 코드를 실행파일로 만들더라도 최소한의 UI라도 있으면 훨씬 편하게 활용할 수 있습니다. PyQt나 Qtdesigner를 사용해도 되지만, tkinter 모듈을 사용하면 훨씬 빠르고 편리하게 원하는 프로그램을 만들 수 있습니다. 'tkinter'는 내장 모듈이기 때문에 별도로 설치할 필요는 없습니다. from tkinter import * tkinter 모듈을 불러와 보겠습니다. win = Tk() ~~ 중간에 내용 ~~~~~ win.mainloop() 이런 구조로 활용하시면 됩니다. win = Tk() win.mainloop() 이렇게만 코드를 입력하고 실행시켜 보겠습니다. .. 2021. 10. 2. 파이썬으로 주사위 게임 업그레이드 지난번 만든 주사위 게임이 너무 밋밋하다는 의견이 있었습니다. 그래서 에니메이션 효과를 좀 넣었습니다. 포토스케이프 X를 사용하면 gif 파일을 만들 수 있습니다. 여러 그림을 가지고 마치 움직이는 것 처럼 보이게 할 수 있다는 얘기죠. 프레임 속도를 적당히 조절하고 반복횟수는 3회로 해서 6개의 파일을 만들고, 끝나는 그림은 주사위 1에서 6까지 설정합니다. 파일이름은 dice1.gif ~ dice6.gif 로 정했습니다. qt designer의 ui이도 조금 수정 했습니다. MainWindow를 좀 더 크게 만들고 label은 2개를 나란히 배치하였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 .. 2021. 1. 3. PyQt5 - (Qt designer) QFileDialog 를 이용하여 여러파일 이름 출력 Qt designer와 QFileDialog를 이용하여 여러 파일의 이름을 출력해 보겠습니다. 우선 Qt designer에서 아래와 같이 Dialog와 버튼, textEdit을 만듭니다. (lineEdit이 아니라 textEdit을 사용하였으니 유의하시기 바랍니다.) import sys from PyQt5.QtWidgets import * from PyQt5 import uic 필요한 모듈을 불러옵니다. test_ui = r'C:\Users\Administrator\Desktop\Test.ui' 만들어진 UI 파일의 경로를 'test_ui'라는 변수에 넣습니다. class MainDialog(QDialog): def __init__(self): QDialog.__init__(self, None) uic... 2020. 12. 17. PyQt5 - QFileDialog(파일선택 창 열기) PyQt를 이용하여 클릭을 하면 파일을 선택할 수 있는 창을 여는 코드입니다. import sys from PyQt5.QtWidgets import * 필요한 모듈을 가져옵니다. class MyWindow(QWidget): def __init__(self): super().__init__() self.setupUI() 클래스를 만들고 시작하면 setupUI함수를 불러올 수 있도록 합니다. def setupUI(self): self.setGeometry(800, 200, 300, 300) self.setWindowTitle('File Open Test') UI 창 크기와 위치를 설정하고 타이틀도 적습니다. self.pushButton = QPushButton('File Open') self.pushButt.. 2020. 12. 15. PyQt5 - QTableWidget(테이블 위젯) 사용하기 2 QTableWidget을 사용하는 두번째 방법입니다. 이번 코드는 좀 복잡해서 저도 다 이해하지 못했습니다. 대충 이렇구나 이해하면서, 다음부터는 Qt Designer 를 포스트 할까 합니다. QT Designer는 일일이 UI를 다 만들어줄 필요 없이 드레그 앤 드롭으로 작성이 가능하며, 함수만 연결해 주면 됩니다. 제가 워낙 초보라 그것도 이해가 어려워서 일일이 다시 공부하고 있습니다. import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * 필요한 모듈을 불러옵니다. class TestWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() 윈도우 클래스를 생.. 2020. 12. 14. PyQt5 - QTableWidget(테이블 위젯) 사용하기 PyQt5를 사용하여 TableWidget을 사용하는 방법입니다. import sys from PyQt5.QtWidgets import * 필요한 모듈을 임포트 합니다. class TestWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() QMainWindow를 상속받아 TestWindow 클래스를 만듭니다. def setupUI(self): self.setWindowTitle('TestWindow') self.tableWidget = QTableWidget(self) self.tableWidget.resize(400,300) self.tableWidget.setRowCount(2) self.tableWidget.setCo.. 2020. 12. 13. PyQt5 - Q Groupbox Widget(그룹박스 위젯) QGroupbx 위젯을 사용하는 방법입니다. import sys from PyQt5.QtWidgets import * 필요한 모듈을 임포트 합니다. class TestWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() QMainWindow를 상속받아 TestWindow 클래스를 만들고 시작이 될 수 있도록 합니다. def setupUI(self): self.setWindowTitle("TestWindow") groupBox = QGroupBox('항목 그룹',self) groupBox.move(10,10) groupBox.resize(150,80) self.radio1 = QRadioButton('항목1',self) sel.. 2020. 12. 11. PyQt5 - QSpinBox(스핀박스) PyQt5를 이용한 SpinBox 예제입니다. import sys from PyQt5.QtWidgets import * 필요한 모듈을 가져옵니다. class TestWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() QMainWindow를 상속받아 TestWindow 클래스를 만듭니다. def setupUI(self): self.setWindowTitle("TestWindow") label = QLabel('수량: ',self) label.move(10,20) self.spinBox = QSpinBox(self) self.spinBox.move(40,20) self.spinBox.resize(60,20) self.spinB.. 2020. 12. 10. PyQt5 - Radio Button(라디오 버튼) 만들기 이번 포스트에서는 PyQt5를 이용하여 Radio Button(라디오 버튼)을 만들어 보겠습니다. QRadioButton을 사용하면 되고, 전체 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import sys from PyQt5.QtWidgets import * class TestWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setWindowTitle('RadioWindow') self.radio1 .. 2020. 12. 7. PyQt5 - 윈도우화면에 QPushButton 추가하기 이번에는 "def setupUI(self):"라는 함수를 만들어서 윈도우와 버튼을 추가하여 보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setWindowTitle("푸쉬버튼윈도우") btn = QPushButton('클릭해 주세요',self) btn.move(20,20) btn.clicked.connect(self.btn_clicked) def btn_clicked(se.. 2020. 12. 4. 파이썬 크롤링으로 내 블로그 검색 순위 알아보기 - ui와 실행파일 만들기 지난번에 이어서 크롤링을 통해서 내 블로그가 몇 번째로 검색되는지 확인하는 코드를 작성해 보겠습니다.(지난번 포스트를 못 보셨으면 아래 링크를 참고하세요) 2020/11/29 - [파이썬/Python Project] - 파이썬 크롤링 해서 내 블로그 검색 순위 알아보기 파이썬 크롤링 해서 내 블로그 검색 순위 알아보기 TV를 보다가 갑자기 "내 블로그가 몇 번째로 검색이 될까?" 하는 궁금증이 생기기 시작했습니다. 갑자기 생긴 궁금증은 해결이 될 때까지 저를 가만두지 않았습니다. 결국 노트북으로 와서 코딩 dotsnlines.tistory.com 지난번에 포스트에서 작성한 코드는 파이참이 있어야만 실행이 가능합니다. 코딩을 할 줄 모르는 우리 마눌님을 위해서 UI도 만들고 실행파일로 만들어서 누구나 쉽게.. 2020. 11. 30. PyQt5- QMainWindow 클래스를 이용한 간단한 윈도우 만들기 이번 포스트에서는 윈도우를 간단하게 띄워보도록 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("내가만든 윈도우") self.setGeometry(200,300,500,500) if __name__=='__main__': app = QApplication(sys.argv) window = MyWindow() window.show() app.exec_() cs 갑자기 코드가 어려워졌네요. 이 코드를 이해하기 위해서는 우선 'Class'개념을 이해해야 합니다.. 2020. 11. 21. PyQt5 - QPushButton 위젯을 이용하여 간단한 창 만들기 시그널과 슬롯을 이용한 간단한 예제를 작성해 보겠습니다. QPushButton이라는 클래스를 가져와서 누르면 어떠한 동작을 하는 코드입니다. import sys from PyQt5.QtWidgets import * def clicked_slot(): print('clicked') app = QApplication(sys.argv) btn = QPushButton("push") btn.clicked.connect(clicked_slot) btn.show() app.exec_() 클릭했을 때 동작 즉 슬롯은 이벤트 루프를 생성하기 전에 작성해야 한다고 하네요. def clicked_slot(): print('clicked') 클릭 했을때 'cliced'라는 프린트문이 실행되도록 함수(슬롯)을 작성했습니다. .. 2020. 11. 20. PyQt5 - qt designer 파일 위치 아나콘다(Anaconda3)를 설치하고 나서 qt designer 위치를 찾느라 헤메었네요. 비전공자에다 40대 아저씨가 코딩을 시작하려고 하니 엄청 힘든점이 많네요. designer 위치는 아래 경로에 있습니다. Anaconda > Library > bin 마우스 오른쪽을 클릭해서 시작화면에 바로 가기를 만들어야 겠습니다. 2020. 11. 18. 이전 1 다음