본문 바로가기

전체 글129

[Python tkinter] tkinter 모듈을 이용한 GUI - 글 입력 위젯 Entry 와 , grid() 오늘은 글 입력 위젯인 Entry 를 이용하여 id, pw 를 입력받는 창을 간단히 만들고, grid() 형식으로 위젯을 배치하는 방법에 대해 알아볼 것이다. 1 Entry 위젯 Entry도 위젯이기 때문에 클래스 타입이다. 따라서 객체를 생성해서 사용해줘야 하며 사용자로부터 텍스트(문자열)를 입력받아올 수 있다. 다음과 같이 사용하면된다. from tkinter import * win = Tk() e1 = Entry(win) win.mainloop() Entry() 안에 Entry를 넣어줄 창의 객체(여기선 win)를 넣어주면 된다. 다음 id와 pw를 입력받는 예제이다. 먼저 다음과 같이 Entry객체로 문자열을 입력받는 위젯을 생성해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14.. 2021. 4. 7.
[Python tkinter] tkinter 모듈을 이용한 GUI - Tk() 위젯과 Label() 위젯Botton() 위젯으로 윈도우창 만들기 1 tkinter tkinter 는 파이썬 내장 모듈로 단순위젯(Lightweight GUI) 지원 모듈이다. 따라서 사용시 모듈을 import 후 사용해준다. 윈도우 창을 만들고 Button, Canvas, CheckBox 등을 추가해 줄 수 있다. 그리고 위젯들은 모두 클래스로 이루어져 있기 때문에 원하는 객체를 생성해서 사용해 줄 수 있다. 먼저 윈도우 창을 만들어보자. 윈도우 창은 Tk() 로 만들어 줄 수 있다. 2 Tk() 위젯으로 윈도우 창 생성 1 2 3 4 5 6 from tkinter import * win = Tk() # 윈도우창을 생성 win.mainloop() # 맨 아래 작성 cs 단순 import만 사용하게 되면 함수를 사용할 때 마다 모듈명을 붙여줘야 하기에 from tkin.. 2021. 4. 7.
[Python sqlite3] OperationalError : database is locked (데이터 베이스 잠김 에러) 파이썬을 DB에 연결해주고 데이터를 추가하고 변경하려고 다른 파일창을 여러장 켜서 연결하여 작업중이었는데 무엇때문인지 같은 에러가 계속 발생했다. 에러는 바로 다음의 에러이다. OperationalError sqlite3.operationalerror: database is locked 데이터베이스가 잠겨있다니 이상했다.... 그래서 구글링 한 결과 장고문서에서 SQLite는 경량 데이터베이스이므로 높은 수준의 동시성을 지원할 수 없다고 한다. "데이터베이스가 잠겼음" 오류 SQLite는 경량 데이터베이스가 되어 높은 수준의 동시성을 지원할 수 없습니다. OperationalError: database is locked 오류는 응용 프로그램이 기본 구성에서 처리할 수 있는 sqlite보다 더 많은 동시성.. 2021. 4. 6.
[Python sqlite3] SQLite - 데이터 읽기·변경·삭제 - SELECT, UPDATE, DELETE, WHERE 1 데이터 읽기 저장되어 있는 테이블의 데이터를 읽는다. 다음과 같이 select 해서 사용한다. SELECT * FROM 테이블명 fetchone() 행단위로 데이터를 읽는 메서드이다. 커서가 이동하기 때문에 데이터를 행단위로 불러온다. 반환값은 튜플로 온다. 데이터가 없을 경우에는 None을 반환한다. cur.execute("SELECT * FROM list") # fetchone() 사용 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from sqlite3 import * con = connect("C:\\DBMS\\Person_list2.db") # 데이터베이스 연결 cur = con.cursor() # 메모리공간 제공 # 데이터 베이스 읽기 cur.execute("SELECT .. 2021. 4. 5.
[Python sqlite3] SQLite 설치 , DB 연결 , 데이터 삽입하기 / connect(), cursor(), excute() 1 SQLite ? SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템 (DBMS : database management system)이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 대규모 작업에는 적합하지 않지만, 중소 규모라면 속도에 손색이 없다. 또 API는 단순히 라이브러리를 호출하는 것만 있으며, 데이터를 저장하는 데 하나의 파일만을 사용하는 것이 특징이다. 파이썬에서 sqlite3라는 표준 라이브러리를 기본적으로 제공하고 있기 때문에 이것을 이용해 DB 를 운용할 것이다. 2 프로그램 설치 1. 먼저 https://sqlitebrowser.org/ 에 접속한다. DB Browser for SQLite DB Browser for S.. 2021. 4. 5.
[Python 기초] 파이썬 클래스 - 클래스 멤버(static) 와 접근제어자(public , private , getter , setter) 1 클래스 멤버 클래스 멤버란 클래스 변수, 클래스 메서드를 뜻한다. 이는 공유 변수, 공유 메서드이기도 하다. 해당 변수와 메서드는 변경되지 않고 정적이라는 의미로 static이라고도 한다. 클래스 멤버는 모든 인스턴스가 공유한다. 인스턴스 생성 이전에 이미 메모리 공간에 할당된다. 따라서 객체를 생성하지 않아도 접근이 가능하다. 접근방법 클래스명.메서드() @classmethod 를 앞에 붙여준다. # 클래스 변수(공유변수)와 인스턴스 변수 예제 1 2 3 4 5 6 7 8 9 10 11 12 class B: int1 = 0 # 클래스 변수 b1 = B() print("b1인스턴스",b1.int1) print("B클래스",B.int1) # 클래스 변수 # 인스턴스를 생성하지 않아도 메모리에 올라가있어.. 2021. 4. 5.