‘Python tkinter’是Python自带的GUI工具包,非常适合开发小型的GUI应用。
最近使用‘tkinter’开发了一些自己日常使用的小工具,效果不错,于是把开发过程中学习到的一些’tkinter‘相关知识整理成笔记,分享给大家。
当然,我也还只是个初学者,欢迎讨论、互相学习。
2025年01月14日
‘Python tkinter’是Python自带的GUI工具包,非常适合开发小型的GUI应用。
最近使用‘tkinter’开发了一些自己日常使用的小工具,效果不错,于是把开发过程中学习到的一些’tkinter‘相关知识整理成笔记,分享给大家。
当然,我也还只是个初学者,欢迎讨论、互相学习。
2025年01月14日
作者:俊欣
来源:关于数据分析与可视化
今天小编带领大家用Python自制一个自动生成探索性数据分析报告这样的一个工具,大家只需要在浏览器中输入url便可以轻松的访问,如下所示
2025年01月14日
ft.ListView(列表视图),俗称“大列表”,一个线性排列的可滚动控件列表,它按滚动方向依次显示其子项(按需显示,逐步渲染,提高了速度)。在交叉轴上,子项需要填充整个列表视图。
2025年01月14日
以下是一个简单的Python Pygame绘图游戏示例:
import pygame
import random
# 初始化Pygame
pygame.init()
# 设置游戏窗口大小
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
WINDOW_SIZE = (WINDOW_WIDTH, WINDOW_HEIGHT)
# 创建游戏窗口
screen = pygame.display.set_mode(WINDOW_SIZE)
# 设置游戏标题
pygame.display.set_caption("绘图游戏")
# 设置颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 设置字体
font = pygame.font.SysFont(None, 36)
# 设置计分
score = 0
# 退出游戏函数
def game_quit():
pygame.quit()
exit()
# 游戏循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_quit()
# 绘制背景
screen.fill(WHITE)
# 随机绘制图形
shape_num = random.randint(1, 3)
if shape_num == 1:
pygame.draw.circle(screen, BLUE, (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), random.randint(10, 50))
elif shape_num == 2:
pygame.draw.rect(screen, RED, (random.randint(0, WINDOW_WIDTH-100), random.randint(0, WINDOW_HEIGHT-50), 100, 50))
else:
pygame.draw.polygon(screen, GREEN, [(random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT))])
# 判断是否点击到图形
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
pos = pygame.mouse.get_pos()
if shape_num == 1:
if pygame.Rect(pos[0]-50, pos[1]-50, 100, 100).colliderect(pygame.draw.circle(screen, BLUE, (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), random.randint(10, 50))):
score += 10
elif shape_num == 2:
if pygame.Rect(pos[0], pos[1], 1, 1).colliderect(pygame.draw.rect(screen, RED, (random.randint(0, WINDOW_WIDTH-100), random.randint(0, WINDOW_HEIGHT-50), 100, 50))):
score += 20
else:
if pygame.Rect(pos[0], pos[1], 1, 1).colliderect(pygame.draw.polygon(screen, GREEN, [(random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)), (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT))])):
score += 30
# 显示当前得分
score_text = font.render("Score: %d" % score, True, BLACK)
screen.blit(score_text, (20, 20))
# 刷新屏幕
pygame.display.update()
2025年01月14日
给大家分享一段AI自动生成的代码(在这个游戏中,玩家需要在有限时间内打中尽可能多的出现在地图上的地鼠),由于我现在用的这个电脑没有安装sublime或pycharm等工具,所以还没有测试,有兴趣的朋友可以跑一下试试。
2025年01月14日
以下文章来源于GoUpUp ,作者大俊
mapstructure用于将通用的map[string]interface{}解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数据流时,我们一般事先并不知道他们对应的具体类型。只有读取到一些字段之后才能做出判断。这时,我们可以先使用标准的encoding/json库将数据解码为map[string]interface{}类型,然后根据标识字段利用mapstructure库转为相应的 Go 结构体以便使用。