요즘 블로그를 뜸하게 썼던 이유들이 여러가지가 있지만 가장 큰 것은 바로 어떤걸 업로드를 해야 할지 조금 블로그에 대한 권태기 아닌 권태기가 왔기 때문었습니다..
그래서 어떻게 해야하지 고민을 하다가 뭔가 내 자신이 동기가 부족해진것 같아 자신에게 동기를 부여하도록 했습니다!
코딩을 하는데에 있어 가장 큰 동기는 자신만의 프로젝트를 시작해보는거라구 생각합니다.
업무용 메모장 (Notepad) 파이썬으로 만들어 보기
아무래도 직장인이다 보니 직장에서 뭔가 내 업무를 더 효율적으로 할 수 있는 프로그램이 필요하다고 판단을 하였습니다.
기존 메모장 프로그램 (Smemo 등)과 같은 프로그램을 사용하고 있었지만 내 입맛대로 되는 프로그램들이 아니다 보니 가끔 상당히 불편하고, 아 이런기능이 있었다면 하는 생각을 많이 하곤 했습니다.
따라서 제가 스스로 메모장을 만들게 되었고, 여기서 계속해서 발전을 해 나갈 생각입니다.
제가 생각한 이 프로그램의 장점 및 개발방향은 아래와 같습니다.
- 기본 UI 는 tkinter 보다는 PyQT를 통해 추후 비쥬얼적으로 더 나아갈 수 있도록 여지를 둘 것
- 나만의 단축키를 통해 보다 효율적인 메모가 가능할 것
- 유선상으로 통화를 하며 메모 할 것들을 메모 하되, 몇시에 이 메모를 했는지 나와야 할 것.
- 계산이 필요할때 그냥 사칙연산을 입력하면 계산 해줄 것
마지막 계산 빼고는 생각보다 그렇게 어렵진 않았습니다. 코드는 아래와 같습니다.
메모장 (Notepad) 만드는 코드 알아보기
기본적으로 제 위 깃허브 사이트에 들어가면 모두 보실 수 있습니다. 깃허브 이용이 불편하신 분들을 위해 아래 코드도 공유 합니다.
from PyQt5.QtWidgets import QApplication, QTextBrowser, QLineEdit, QVBoxLayout, QWidget
from PyQt5.QtGui import QIcon, QFont
import sys
import time
class Window(QWidget) :
def __init__ (self):
super().__init__()
self.title="Wokatoka Notepad"
self.top = 400
self.left = 400
self.width = 400
self.height = 600
self.setFixedSize(self.width,self.height)
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.setWindowIcon(QIcon('D:/Solo Coding/Projects/Notepad_PyQT/image/woka.png'))
self.Ui()
def Ui (self):
self.browser = QTextBrowser()
self.lineEdit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(self.browser)
vbox.addWidget(self.lineEdit)
self.setLayout(vbox)
self.lineEdit.returnPressed.connect(self.updateBrowser)
def updateBrowser(self):
now = time
now_time = now.strftime('%H:%M:%S')
now_date = now.localtime().tm_mday
now_month = now.localtime().tm_mon
now_year = now.localtime().tm_year
try:
text = str(self.lineEdit.text ())
self.browser.append("%s = <b>%s</b>" %(text, eval(text)))
self.lineEdit.clear()
except:
if text == "*start":
self.browser.append("<p style='font-size:16px'> <b>%s/%s/%s</b></p>" %(now_date,now_month,now_year))
self.lineEdit.clear()
elif text == "--":
insert_line = "-------------------------------------------------------------------------------------------"
self.browser.append("<p style= 'color:red'>%s</p>"%(insert_line))
self.lineEdit.clear()
else:
self.browser.append("<b>[%s]</b> %s" %(now_time, text))
self.lineEdit.clear()
app = QApplication(sys.argv)
window = Window()
window.show()
app.exec()
앞으로의 모든 업데이트는 위 깃허브를 통해 진행할 예정입니다.
실행을 하면 아래와 같이 나옵니다.
내가 원하는대로 단축키도 설정을 해보았습니다.
- *start 입력 시 업무 시작으로 간주되어 현 날짜가 나옵니다. (추후 업무 격언도 넣고싶어 json을 미리 받아놨습니다)
- -- 입력 시 구분선이 생깁니다.
- 사칙연산을 넣을 시 자동 계산을 해줍니다. ex) 1+1 입력시 1+1 = 2 가 나옵니다
'** My Projects' 카테고리의 다른 글
파이썬으로 화면 캡처 프로그램 만들기 - 개인프로젝트 03 (5) | 2022.07.04 |
---|---|
파이썬으로 화면 캡처 프로그램 만들기 - 개인프로젝트 02 (2) | 2022.06.28 |
파이썬으로 화면 캡처 프로그램 만들기 - 개인프로젝트 01 (3) | 2022.06.23 |
댓글