python3界面实例_python3使用tkinter实现ui界面简单实例

代码如下:

import time

import tkinter as tk

class Window:

def __init__(self, title='nms', width=300, height=120, staFunc=bool, stoFunc=bool):

self.w = width

self.h = height

self.stat = True

self.staFunc = staFunc

self.stoFunc = stoFunc

self.staIco = None

self.stoIco = None

self.root = tk.Tk(className=title)

def center(self):

ws = self.root.winfo_screenwidth()

hs = self.root.winfo_screenheight()

x = int( (ws/2) - (self.w/2) )

y = int( (hs/2) - (self.h/2) )

self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y))

def packBtn(self):

self.btnSer = tk.Button(self.root, command=self.event, width=15, height=3)

self.btnSer.pack(padx=20, side='left')

btnQuit = tk.Button(self.root, text='关闭窗口', command=self.root.quit, width=15, height=3)

btnQuit.pack(padx=20, side='right')

def event(self):

self.btnSer['state'] = 'disabled'

if self.stat:

if self.stoFunc():

self.btnSer['text'] = '启动服务'

self.stat = False

self.root.iconbitmap(self.stoIco)

else:

if self.staFunc():

self.btnSer['text'] = '停止服务'

self.stat = True

self.root.iconbitmap(self.staIco)

self.btnSer['state'] = 'active'

def loop(self):

self.root.resizable(False, False)   #禁止修改窗口大小

self.packBtn()

self.center()                       #窗口居中

self.event()

self.root.mainloop()

########################################################################

def sta():

print('start.')

return True

def sto():

print('stop.')

return True

if __name__ == '__main__':

import sys, os

w = Window(staFunc=sta, stoFunc=sto)

w.staIco = os.path.join(sys.exec_prefix, 'DLLspyc.ico')

w.stoIco = os.path.join(sys.exec_prefix, 'DLLspy.ico')

w.loop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tkinter 实现的五子棋UI界面 import tkinter as tk from tkinter import messagebox from chessboard import ChessBoard ChessBoard = ChessBoard() class GUI(object): def __init__(self): self.counter = 0 self.winner = 0 self.is_start = False self.is_surrender = False self.window = tk.Tk() # 窗口对象(首字母大写) self.window.title('Gobang') self.window.geometry('800x540') self.window.resizable(width = False, height = False) # 画布对象 棋盘 self.canvas = tk.Canvas(self.window, height = 540, width = 540) self.chessboard = tk.PhotoImage(file = 'Gobang_chessboard/chessboard.gif') self.blackpoint = tk.PhotoImage(file = 'Gobang_chessboard/blackpoint.gif') self.whitepoint = tk.PhotoImage(file = 'Gobang_chessboard/whitepoint.gif') self.canvas.create_image(0, 0, anchor = 'nw', image = self.chessboard) self.canvas.bind("", self.get_point) self.start_point = 10 # 起始点位置 self.step = 35 # 每个格子的跨度 self.canvas.place(x = 0, y = 0) # 标签对象 self.l_info = tk.Label(self.window, text = 'Not started', font=('Arial', 12), width = 25, height = 2) self.l_info.place(x = 545, y = 0) # 文本框对象 self.t = tk.Text(self.window, height = 15) self.t.place(x = 540, y = 40) # 按钮对象 self.f_header = tk.Frame(self.window, highlightthickness=0) self.b_start = tk.Button(self.f_header, text = 'start', command = self.start) self.b_restart = tk.Button(self.f_header, text = 'restart', command = self.restart) self.b_regret = tk.Button(self.f_header, text = 'regret', command = self.regret) self.b_surrender = tk.Button(self.f_header, text = 'surrender', command = self.surrender) self.f_header.place(x = 545, y = 250) self.b_start.pack(side='left', padx=10) self.b_restart.pack(side = 'left') self.b_surrender.pack(side = 'right') self.b_regret.pac

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值