본문 바로가기
728x90

ETC51

PyQt time sleep error 해결 및 구현 PyQt에서 time sleep 사용시, gui가 멈추는 현상이 발생한다. PyQt를 이용한 프로그램에서는 time sleep을 사용하면 안된다. 대신 QEventLoop()을 사용하도록 하겠다. 우선 Qcore를 PyQt5 import 시켜준다. from PyQt5 import QtCore 그 다음 n초를 쉬는 time.sleep과 같은 코드를 함수화하여 구현한다. def sleep(self,n): QtTest.QTest.qWait(n*1000) 구현을 했으면 원하는 곳에 매개변수를 이용하여 초만큼 쉴 수 있다. self.sleep(1) #1초 쉼 2020. 8. 16.
Python URLEncoding code Python에서 URLEncoding은 urllib의 parse를 사용하면 된다. 먼저 import 시켜준다. from urllib import parse 그 다음 parse의 quote를 이용하면 된다. 주의할 점은 url전체를 quote하면 안된다. url = 'https://kin.naver.com/search/noAnswerList.nhn?query=담배' print(parse.quote(url)) 다음과 같이 url전체를 parse.quote한 경우는 다음과 같이 나온다. https%3A//kin.naver.com/search/noAnswerList.nhn%3Fquery%3D%EB%8B%B4%EB%B0%B0 : 나 / 혹은 ? 와 같은 문자들도 encoding해버린다. 따라서 한글만 parse... 2020. 8. 16.
PyQt 비밀번호 입력창(별표 표시) 만들기 이번 글에서는 QtextEdit 비밀번호 입력창 만들기를 해보도록 하겠다. 프로그램 로그인창에서 비밀번호를 그대로 보여주는 형태로 만들면, 유저입장에서 뭔가 찝찝한 기분이 들 수 있다. 따라서 비밀번호 Object에 값을 입력 시, 자동으로 * 표시와 같이 안보이는 형태로 바꿔주면 좋을 것이다. 우리는 코드를 통해 이 문제를 해결해야 한다. QtDesigner로 만들어 놓은 UI 틀은 다음과 같다. 아쉽게도 QTextEdit은 password모드를 제공하지 않는다. 현재는 값을 입력하면 다음과 같이 나온다. 비밀번호가 그대로 노출이 된다. 우리는 이 비밀번호를 *표시로 바꿔주어야 한다. 우선 비밀번호 QTextEdit을 지우고 QLineEdit으로 바꿔준다. 그다음 echoMode를 Password로 바.. 2020. 8. 15.
PyQt5 버튼 클릭 이벤트(PyQt button event python) pyqt5 버튼 클릭 이벤트 파이썬 pyqt 버튼 클릭 이벤트 PyQt5에서 UI의 버튼을 눌렀을 때 이벤트를 처리하는 코드를 작성해보도록 하겠다. 이벤트를 처리할 때 사용하는 함수는 이벤트 핸들러라고 한다. UI는 다음과 같다. 간단한 QTextEdit 두개와 QpushButton하나로 UI를 만들었다. 위쪽 QTextEdit을 ID text라고 가정하고, 로그인 버튼 클릭시 값을 출력하는 코드를 작성해보자. 로그인 버튼의 objectName을 LoginButton으로 바꿔주고, 위쪽 QTextEdit을 IDText로 아래쪽 QTextEdit을 PWText로 바꾼다. UI를 저장하고 다음 코드를 통해 UI를 파이썬 코드로 바꿔준다. pyuic5 -x "ui 파일 이름.ui" -o "파이썬 파일 이름.p.. 2020. 8. 15.
Python PyQt QtDesigner 설치하기 & 사용법 이번 글에서는 PyQt5 Designer 설치와 사용법에 대해 알아보도록 하겠다. QtDesigner는 Python GUI 프로그래밍의 레이아웃을 Drag & Drop 방식을 이용하여 편리하게 구성할 수 있는 Tool이다. QtDesigner 설치하기 QtDesigner도 역시 pip을 이용하여 설치할 수 있다. 다음과 같이 터미널에 입력한다. pip install pyside2 Pyside2를 설치하였다면 Qt Designer가 자동으로 컴퓨터에 설치되었을 것이다. Qt Designer 설치 경로는 다음에서 확인할 수 있다. C:\Users\%USERNAME%\AppData\Local\Programs\Python\[파이썬버전]\Lib\site-packages\PySide2\designer.exe 설치 .. 2020. 8. 13.
Window 10 PyQt5 설치 및 사용하는 방법 PyQt란, Qt의 레이아웃에 Python의 코드를 연결하여 GUI 프로그램을 만들 수 있게 해주는 프레임워크를 의미한다. 이번 글에서는 PyQt5 설치 방법과 간단하게 사용하는 방법을 알려주려고 한다. PyQt5를 설치하러 이 글을 방문했다면 당연히 파이썬이 설치 되었을 것이라고 생각하고, pip 부터 시작하도록 하겠다. pip install PyQt5 pip으로 PyQt5를 설치하는 것은 생각보다 매우 느려서 직접 다운로드를 받을 수 있는 주소는 다음과 같다. https://www.riverbankcomputing.com/software/pyqt/download5 https://sourceforge.net/projects/pyqt/ http://pyqt.sourceforge.net/Docs/PyQt5.. 2020. 8. 13.
Python 문장 한 글자씩 쓰는법 Python으로 글자를 쓰는 방법은 두 가지 방법이 있다. 첫 번째 방법은 pyautogui의 typewrite를 이용하는 것이고, 두 번째 방법은 pyperclip의 copy를 이용하는 것이다. pyautogui typewrite 사용법 pyautogui.typewrite(['h','e','l','l','o'],interval=1) 다음과 같이 인터벌을 줄 수 있어 사용하기 편리하다. 하지만 pyautogui의 치명적인 단점이 있다. 바로 한글을 지원하지 않는다는 점이다. pyperclip copy 사용법 두번 째 방법은 pyperclip의 copy를 사용하는 방법이다. copy를 사용한다면 클립보드에 저장된다. 클립보드에 저장된 글자는 Ctrl v를 이용하여 사용할 수 있다. 코드를 다음과 같이 작성.. 2020. 8. 12.
TypeError: an integer is required (got type str) 다음과 같은 에러가 뜰 때 해결법이다. File "test.py", line 5, in data = open('content.txt', 'r','utf8') TypeError: an integer is required (got type str) import time import pyperclip import pyautogui time.sleep(5) data = open('content.txt', 'r','utf8') lines = data.read() data.close() str_list = (list(lines)) print(str_list) 이러한 에러가 났다면 Python3 환경에서 다음과 같이 코드를 작성했을 것이다. Python 3으로 넘어오면서 utf8만 딸랑 써주면 안된다. encodin.. 2020. 8. 12.
python txt read 파일 읽기 에러 'cp949 codec' 해결법 File "test.py", line 6, in lines = data.read() UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 0: illegal multibyte sequence 다음과 같은 에러가 떴을 때 해결하는 방법은 두가지가 있다. 1번째 방법 파일을 읽을 때 설정에서 utf-8을 붙여준다. file = open( "text.txt", "r", "utf-8" ) 2번째 방법 txt 파일을 저장할 때 인코딩을 ANSI로 바꾸면 된다. 메모장에서 저장할 경우 다른 이름으로 저장을 누르면 ANSI 인코딩으로 바꿔줄 수 있다. 2020. 8. 12.
728x90