blog
# ClipboardToBase64 - 7. UI 만들기. 완성. 본문
ClipboardToBase64 - 7. UI 만들기
좋긴 하지만 할때마다 명령창 띄워서 main.py 입력할 수는 없는 노릇이니 간단하게 UI를 만들어 봐야겠다. PyQt5를 사용한다.
대충 이런 모양으로 만들면 될거같다.
def clipboard_to_base64():
get_clipboard_to_base64()
class App(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 200, 100)
self.copyButton = QPushButton("Copy")
self.copyButton.clicked.connect(clipboard_to_base64)
self.checkButton = QCheckBox("Always On")
self.checkButton.stateChanged.connect(self.alwaysontop)
layout = QGridLayout(self)
self.copyButton.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
layout.addWidget(self.copyButton, 1, 0, 1, 1)
layout.addWidget(self.checkButton, 2, 0, 1, 1)
self.setLayout(layout)
def alwaysontop(self, state):
if state == Qt.Checked:
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
self.show()
else:
self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowStaysOnTopHint)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
app.exec_()
완성
pip install pyinstaller
pyinstaller --onefile -w main.py
pyinstaller 를 설치하고 실행파일로 만든다.
Copy 버튼을 누르면 클립보드에 마크다운 태그로 이미지가 저장된다.
Always On 버튼을 누르면 항상 위 상태가 된다.
개선 요구 사항
- Print Screen 키 캡쳐는 동작하지 않았고, Win+Shift+S 키 캡쳐만 동작했다.
- VSCode의 Markdown All in One 확장을 통해 사용하는 katex 수식 중 지원되지 않는 수식이 꽤 있었다.
- win32clipboard 를 사용해서, 운영체제에 제약이 있다.
'Python > ClipboardToBase64' 카테고리의 다른 글
# ClipboardToBase64 - 6. tex 수식 이미지로 변환 (1) | 2022.01.11 |
---|---|
# ClipboardToBase64 - 5. 'NoneType' object (0) | 2022.01.11 |
# ClipboardToBase64 - 4. 클립보드에 넣어주기 (0) | 2022.01.11 |
# ClipboardToBase64 - 3. 마크다운에 맞게 태그 변환 (0) | 2022.01.11 |
# ClipboardToBase64 - 2. 이미지를 Base64로 인코딩하기 (0) | 2022.01.11 |
Comments