본문 바로가기

GUI9

[파이썬 GUI] tkinter 7 화면 전환~~ (Frame을 이용한 화면 전환) tkinter로 화면 전환에 대해서 궁금해 하시는 분들이 많이 있는 것 같습니다. 프로그램들을 실행시키다 보면 이전과 다음을 클릭하도록 되어있는 것을 종종 볼 수 있습니다. 그것과 같이 화면을 전환하는 방법에 대해서 알아보겠습니다. 화면을 전환하려면 우선 각 화면을 만들어야 합니다. 매번 하던 방식은 root = Tk() Label(root, text="어쩌구" ... 이런 식으로 기본 화면에 만들었는데 이제는 각 화면을 따로따로 만들어주도록 하겠습니다. 그리고 버튼을 통해 이전과 다음 페이지로 넘어 갈 수 있도록 하겠습니다. 화면을 frame이라고 합니다. 그래서 Frame 위젯을 이용해야합니다. 이 Frame으로 각 화면을 만들어주도록 하겠습니다. from tkinter import * root = .. 2022. 11. 24.
[콜라츠 추측] 파이썬 GUI로 콜라츠 추측 알아보기2 [콜라츠 추측] 파이썬 GUI로 콜라츠 추측 알아보기1 콜라츠 추측에 대해서 들어보셨나요? 콜라츠 추측이란 임의의 양의 정수 n에 대해서 홀수 일 경우 3*n + 1을 하고 짝수일 경우 n / 2를 하는데 이를 임의의 양의 정수에 수행하면 항상 마지막은 4 2 1 c-i-s.tistory.com 해당 포스팅에 이어지는 내용입니다. 우선 gui로 표현하기 위해 공간을 만들어보겠습니다. from tkinter import * root = Tk() root.title("콜라츠 추측") root.geometry("1600x800+100+100") root.mainloop() -> 가로 1600, 세로 800입니다. -> 프로그램의 등장 위치는 좌 상단으로 부터 가로 100 세로 100 떨어진 위치에 나옵니다. .. 2022. 11. 3.
[파이썬 GUI] tkinter 6(특정 키를 누를 때 동작하는 bind함수/로그인 창 음영 넣는 법) 특정 키를 누를 때 동작할 수 있게 만드는 bind 함수에 대해서 알아보겠습니다. bind 함수는 위젯에 적용시킬 수 있습니다. 여기서 위젯이란 Label, Entry, Button 등을 모두 위젯이라고 하고 프로그램 화면에 보이는 대부분이 위젯이라고 볼 수 있습니다. 기본적으로 사용하는 방법을 알아보고 로그인 창에서 볼 수 있는 입력을 유도하는 음영을 표현해보겠습니다. 1. 기본 사용 방법 2. 로그인 창 입력 유도를 위한 음영 넣기 1. 기본 사용 방법 from tkinter import * def mouse_left_click(event): # 반드시 event 매개변수를 전달합니다. global label1 label1['text'] = "누르면 이렇게 변함" # 뭐가 들어오는지 확인해보자! pr.. 2022. 10. 28.
[파이썬 GUI] tkinter 5(입력 위젯 만들기) 이번에는 문자열을 입력받을 수 있는 위젯을 만드는 방법을 알아보겠습니다. 요번까지 Label, Button, Entry까지 하고 나면 기본적인 GUI를 만들 수 있습니다. 이를 이용하는 간단한 응용 방법에 대해서도 알아보도록 하겠습니다. 어떤 값을 입력받으려면 Entry 위젯을 사용해야 합니다. Entry에 대해서 다음 순으로 알아보도록 하겠습니다. 1. 기본 사용 방법 2. Entry 옵션 3. 버튼을 이용한 응용 방법 1. 기본 사용 방법 기본 사용방법은 우선 나타나게 하는 방법입니다. 지금까지 해왔던 Label, Button과 비슷한 구조입니다. from tkinter import * gui = Tk() gui.title("입력을 받아보자!") gui.geometry("400x300+300+300".. 2022. 10. 26.
[파이썬 GUI] tkinter 4(버튼 사용하기/버튼의 기능 만들기) 이번에는 GUI에서 특정 기능이 발휘 될 수 있는 버튼 위젯을 사용하는 방법을 알아보겠습니다. 1. 버튼 기본 사용방법 2. 버튼 속성 3. 버튼을 이용한 Label 위젯의 text변경 1. 버튼 기본 사용방법 바로 코드를 통해서 알아보겠습니다. from tkinter import * def but(): print("기능 실행") gui = Tk() gui.title("버튼 사용하기") gui.geometry("400x300+300+300") # 기본 사용법 Button(gui, text="버튼이당", command=but).pack() gui.mainloop() 이 코드의 실행 화면입니다. 버튼을 누르면 콘솔 화면에 다음과 같이 나타납니다. 코드 설명입니다. Button(gui, text="버튼이당",.. 2022. 10. 21.
[파이썬 GUI] tkinter 3(위젯을 화면에 배치하는 방법, pack, grid, place) tkinter에서 위젯을 나타내게 할 때 사용되는 3가지 메소드가 있습니다. 1. pack method 2. grid method 3. place method 1번 pack method는 절대적인 위치에 등장시키고 싶을 때 사용합니다. 예를 들어 300x400, 또는 이와 다른 화면 크기에서 위젯을 맨 위, 맨 아래 등에 배치하고 싶을 때는 pack method를 사용합니다. 이 메소드는 내가 어디에 정확하게 배치하고 싶을 때는 부정확할 가능성이 있습니다. 2번 grid method는 엑셀과 같다고 생각하면 됩니다. 엑셀과 같이 격자를 위젯의 크기에 맞게 자동으로 설정이 됩니다. 자동으로 격자가 생성되기 때문에 위젯의 크기가 들쭉 날쭉한다면 사용하기 곤란할 수도 있습니다. 3번 place는 좌표를 이용하.. 2022. 10. 14.
[파이썬 GUI] tkinter 2(Label을 이용하여 글자, 이미지 표현하기) GUI에서 글자를 나타내게 하고 싶으면 Label class를 사용해야 합니다. Label class는 글자 뿐만 아니라 이미지도 나오게 할 수 있습니다. 오늘 알아볼 주제입니다. 1. Label class 기본 사용법 2. Label 나오게 하기 3. Label에서 사용하는 속성들 4. 이미지 나오게 하기 1. Label class 기본 사용법 from tkinter import * gui = Tk() gui.title("Label 사용하기") gui.geometry("400x300+300+300") gui.resizable(False, False) # Label 사용법 1 Label(gui, text="string") gui.mainloop() Label(gui, text="string") -> gu.. 2022. 10. 14.
[파이썬 GUI] tkinter 사용법 1(화면 만들기, 화면 중앙에 배치하기) 파이썬으로 GUI 즉, 프로그램 화면을 만드는 방법을 알아보겠습니다. PyQt도 있지만 tkinter가 개인적으로 더 쉽게 느껴졌습니다. 기초적인 과정부터 tkinter와 소켓 통신을 통해 채팅창 만드는 과정까지 나가보겠습니다. 우선 tkinter 모듈을 import 해야합니다. tkinter 모듈은 파이썬 설치 시 기본으로 제공됩니다. 혹시나 없다면 pip install tk로 설치해야 합니다. 목차 1. 화면 만들기 2. 창의 최대/최소 사이즈 3. 줄이기 가능, 불가능 4. 프로그램 화면을 중앙에 배치하기 1. 화면 만들기 코드를 통해서 알아보겠습니다. from tkinter import * gui = Tk() gui.mainloop() from tkinter import * -> tkinter 모.. 2022. 10. 13.
파이썬 마인크래프트 : 텔레포트 GUI만들기 이전 포스팅에서 다룬 텔레포트와 tkinter 모듈을 사용하여 GUI 창을 통해 마인크래프트의 텔레포트 기능을 만들어보겠습니다. from tkinter import * from mcpi.minecraft import Minecraft X_AXIS = 240 Y_AXIS = -78 Z_AXIS = -208 mc = Minecraft.create() # 서버와 연결 def tp(): """원하는 좌표로 이동""" # x = int(input_x.get()) # y = int(input_y.get()) # z = int(input_z.get()) xyz = [] for val in range(3): # 각 좌표값을 받아옴 temp = int(input_list[val].get()) xyz.append(temp.. 2022. 6. 17.