본문 바로가기

전체 글163

[파이참] 라인넘버를 입력해서 캐럿을 옮기는 방법 파이참을 사용하지만 빔 플러그인을 사용하지 않는 유저를 위한 팁입니다. 한 파일의 코드가 삼백 줄 이상 길어지면 하단의 __main__ 아래 어딘가의 라인으로 이동하고 싶어도, 페이지다운과 화살표를 반복해 누르면서 찾아가는 시간이 다소 걸리게 됩니다. 물론 파이참에는 "책갈피"라는 어마어마하게 편리한 기능이 있지만, 이건 코드가 엄청나게 복잡해지거나 길어졌을 때 유용한 기능이라고 생각됩니다. 그 전까지는 '굳이?' 라는 생각이 들 수도 있는 "소 잡는 칼" 같은 기능이라고 할까요? 이번 시간에는 라인번호(혹은 칼럼번호까지)만 기억해도 쉽게 해당 라인으로 이동하는 Goto 기능을 소개해 드리겠습니다. 우선 아래는 VimTutor의 Goto 커맨드 설명입니다. 당연히 VIM에도 아래와 같이 줄번호 입력으로 .. 2021. 5. 8.
[QnA] 한/글에서 녹화해 둔 매크로를 파이썬에서 변환없이 실행하는 방법은 없을까요? 안녕하세요? (요즘 PySide6 튜토리얼을 작성하면서 다시 다나까체를 사용하게 되었습니다. 저도 헷갈리네요;;; 근데 이방법 저방법 써보고 알게 된 게, 존댓말을 쓴다고 포스팅 생산성이 떨어진다거나 하지는 않는 것 같더라고요.. 하여튼) 이번 포스팅은 제목대로, 한/글에서 녹화한 매크로를 파이썬 코드로 변환하지 않고 바로 실행하는 방법이 없는지 메일로 질문 주신 분께 답변 남겨드리면서, 포스팅도 남겨봅니다. hwp.RunScriptMacro(FunctionName="OnScriptMacro_script5()", uMacroType=0, uScriptType=1) 코드는 위와 같습니다. 구체적인 사용법은 아래 남겨드리지만, 별 영양가 없으므로 안 보시면 좋겠습니다. 아래아한글에서 "Hello World".. 2021. 4. 15.
PySide6 메모장 만들기: 열기, 저장 및 끝내기 구현 지난 시간에는 지난 시간에는 QtDesigner 내에서 ①파이썬 코드를 생성한 후 복사해서 파이참에 붙여넣는 방식으로 ui변환을 생략하고 파일을 직접 업데이트하는 방법을 보여드렸습니다. ②또한 "새 창(W)" 메뉴를 클릭했을 때 윈도우 인스턴스가 하나 더 생성되도록 시그널(triggered)과 슬롯(add_window메서드)을 연결하는 작업도 해보았고, 가장 중요하다고 할 수 있는 ③레이아웃과 플레인텍스트 위젯도 배치해보았습니다. 해당내용이 궁금하신 분은 아래 링크를 참고해주시기 바랍니다. 1. PySide6 메모장 만들기 - 위젯 추가하기 우린 지금 어디쯤? 지금 우리는 윈도우10의 기본프로그램 중 하나인 메모장을 PySide6로 클론코딩하는 작업을 진행하고 있습니다. 지난 포스팅에서는 메모장의 틀을 .. 2021. 4. 9.
1. PySide6 메모장 만들기 - 위젯 추가하기 우린 지금 어디쯤? 지금 우리는 윈도우10의 기본프로그램 중 하나인 메모장을 PySide6로 클론코딩하는 작업을 진행하고 있습니다. 지난 포스팅에서는 메모장의 틀을 만들고, 메뉴바를 완성했습니다. (아직 메뉴바에 기능을 구현하지는 않은 상태이고요.) 이번 두 번째 포스팅에서는 QtDesigner로 텍스트에디트 위젯을 추가하고 기본적인 기능을 구현하는 과정을 같이 진행해보려고 합니다. 포스팅 관련 궁금한 점은 댓글로 남겨주시면 답변 달아드리겠습니다. QtDesigner 여는 건 익숙해지셨나요? 이번 시간엔 파이참으로 디자이너를 열어봅시다. Alt-F12를 눌러 터미널을 연 후에, "pyside6-designer"라고 입력하고 엔터를 쳐보세요. 지난 번에 완성했던 ui파일을 아래 첨부해 둡니다. 다만, 디자.. 2021. 4. 1.
1. PySide6-QtDesigner, 윈도우메모장 클론코딩!!1/? + uic팁 지난 포스팅은... 1. PySide6의 QtDesigner를 사용해봅시다.(1/2) QtDesigner 실행해보기 pip를 통해 PySide6를 설치했다면, 파이썬폴더\Library\bin이나 파이썬폴더\Lib\site-packages\PySide6 폴더 안에 designer.exe(또는 pyside6-designer.exe)가 같이 설치되어 있습니다. 귀.. www.martinii.fun 이번 시간부터는: QtDesigner로 윈도우 메모장 클론코딩 아무리 마음가는대로 튜토리얼을 짓는다지만, 이렇게 해도 되나 싶기는 합니다. 원래는 디자이너 가볍게 잡고 Qt+Matplotlib 시각화나, Qt+Pandas 스프레드시트 쪽으로 진행하고 싶었는데, 너무 밑천을 일찍 드러내는 거 아닌가 싶어 이렇게 결정하.. 2021. 3. 29.
1. PySide6의 QtDesigner를 사용해봅시다. QtDesigner 실행해보기 pip를 통해 PySide6를 설치했다면, 파이썬폴더\Library\bin이나 파이썬폴더\Lib\site-packages\PySide6 폴더 안에 designer.exe(또는 pyside6-designer.exe)가 같이 설치되어 있습니다. 귀찮다면 시작버튼을 누르고 "designer"를 입력하면 아래와 같이 프로그램 목록에 하나 튀어나올 것입니다. 최초 실행화면은 아래와 같습니다. (조금 부족한 듯 싶지만,) 지금까지 PySide에 대한 튜토리얼을 통해 QWidget이나 QMainWindow를 상속한 GUI창을 만들어보았습니다. 간단한 창이라면 코드를 사용해서 제작하는 걸로도 충분하지만, 어느 정도 규모를 넘어서거나, 섬세한 사이즈조절을 하기 위해서는 코드만으로는 까다로운.. 2021. 3. 29.
0. PySide6의 시그널-슬롯 활용예제: 다른 위젯을 슬롯으로 연결하기 PySide 시그널-슬롯 활용예제2 QLineEdit의 textChanged 시그널을 QLabel.setText 슬롯과 연결하기 안녕하세요? 이번 포스팅을 시작하기 전에 지난 포스팅에서 작성했던 코드를 최대한 간단히 요약해서 다른 사람에게 설명하려면 뭐라고 하시겠어요? 참고하시라고 지난 번 작성한 코드를 여기 적어볼게요. from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.button = QPushButton(parent=self) self.setCentralWidget(s.. 2021. 3. 28.
1. 시그널-슬롯 응용예제(버튼에 클릭횟수 표시)와 클래스 기본개념 지난 포스팅에서는 Signal&Slot의 기본 개념을 짧은 설명과 최소한의 코드를 통해 가볍게 설명을 드렸습니다. 지난 포스팅 마지막에, 시그널을 통해 변수의 값을 바꾼다든지, 인터페이스를 변경하거나, 혹은 위젯에서 슬롯을 거치지 않고 직접 다른 위젯에 영향을 주는 등의 응용방법이 있다는 설명을 드렸습니다. 1. PySide6의 Signal과 Slot에 관하여 시그널과 슬롯 짐작컨대 이 몇 개 안 되는 튜토리얼 시리즈를 따라오시면서, 여러분이 가장 많이 하셨던 생각 중 하나는, "그래서 이 버튼이 뭔가 액션을 하게 하려면 어떻게 해야 하나?" 일 거라 www.martinii.fun 이번 시간에는 그 활용예제 중 하나를 클래스를 곁들여 가볍게 다뤄보도록 하겠습니다. (메인 윈도우 디자인하다가 갑자기 Sig.. 2021. 3. 26.
1. PySide6의 Signal과 Slot에 관하여 시그널과 슬롯 짐작컨대 이 몇 개 안 되는 튜토리얼 시리즈를 따라오시면서, 여러분이 가장 많이 하셨던 생각 중 하나는, "그래서 이 버튼이 뭔가 액션을 하게 하려면 어떻게 해야 하나?" 일 거라고 생각합니다. 지금까지 QWidget이나 QMainWindow 혹은 (QWidget을 상속한) QMainWindow를 상속한 MainWindow라는 클래스를 통해서도 GUI윈도우를 만들어봤고, 창 안에다 푸쉬버튼도 하나 넣어봤는데 이제 이 버튼이 뭔가 작동하게 만들어볼 시간이 되었습니다. 뭔가 작동하게 하는 코드는 굉장히 간단합니다. 이걸 알려드리기 전에, 시그널과 슬롯이라는 용어에 대해서 먼저 설명드리려고 합니다. 지금 우리가 원하는 건, 지금 우리가 원하는 건 "버튼을 눌렀을 때", "뭔가 작동한다" 입니다... 2021. 3. 25.