python-GUI之tkinter的學習

兩千個祕密發表於2018-10-19

 

最近看了嗶哩嗶哩的python的學習,直接看程式碼吧,以後會更新

先來個基礎的

import tkinter as tk #匯入包

app = tk.Tk() #抽象出一個GUI
app.title("first GUI") #設定這個視窗的標題
thelable = tk.Label(app, text = "這是一個視窗") #標籤,要先把引數app給傳進去,比較常用
thelable.pack()  #這是對這個標籤進行排版,可以在裡面設定引數自己設定

app.mainloop()#必須要加

加了個按鈕,點選按鈕就可以出現hello

import tkinter as tk

class App:
    def __init__(self, master):#建構函式,對App進行初始化
        frame = tk.Frame(master)#按鈕框架
        frame.pack(side = tk.LEFT,padx = 100,pady = 100)#設定引數自定義

        self.hi_here = tk.Button(frame, text = `hello`,fg=`blue`,bg=`black`,command = self.hello)#bg,fg背景前景色,command為按下按鈕發生的事件
        self.hi_here.pack()
    def hello(self):
        print("hello")


root = tk.Tk()
App(root)

root.mainloop()

這次新增一個圖片,文字在坐,圖片在右邊

from tkinter import *
import tkinter as tk
root = tk.Tk()

textlabel = tk.Label(root, text = "非18
不可觀看",#可以轉義字元
                     justify = LEFT,#設定左對齊
                     padx = 10)
textlabel.pack(side = tk.LEFT)

photo = PhotoImage(file = `18.gif`)#得到圖片,要是gif型別的
imglabel = tk.Label(root,image = photo)#新增圖片
imglabel.pack(side = tk.RIGHT)
root.mainloop()

圖片和文字在一起

from tkinter import *
import tkinter as tk
root = tk.Tk()
photo = PhotoImage(file = `18.gif`)#得到圖片,要是gif型別的
textlabel = tk.Label(root, text = "非18
不可觀看",#可以轉義字元
                     justify = LEFT,#設定左對齊
                     padx = 10,
                    image = photo,
                    compound = CENTER)#設定為圖片和文字混合,圖片在中間
textlabel.pack(side = tk.LEFT)
root.mainloop()

圖片和文字加按鈕,按下按鈕文字變換

from tkinter import *

def change():
    var.set("小孩子不許騙人")


root = Tk()
frame1 = Frame(root)#如果是from tkinter import *,則呼叫Frame的時候就不用tk.Frame()
frame2 = Frame(root)

var = StringVar()
var.set("18才能看,你18了麼")
textlabel = Label(frame1,
                  textvariable = var,#將文字設定成可變的,型別應該為StringVar
                  justify = LEFT)
textlabel.pack(side = LEFT)

photo = PhotoImage(file = `18.gif`)
imglabel = Label(frame1, image = photo)
imglabel.pack(side = RIGHT)

button = Button(frame2,text =`我已18`,command = change)
button.pack()

frame1.pack(padx = 10, pady = 10)
frame2.pack(padx = 10, pady = 10)

mainloop()

 

相關文章