文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python恶搞代码

2023-08-31 05:41

关注

在这里插入图片描述

系列文章

文章目录

前言

快来领取python无限弹窗恶搞代码吧!每天写一些有趣的小程序,带你成为一个有趣的程序员!(完整代码文末公众号免费领取哦

Tkinter界面设计

1. 创建一个简单的界面

Tkinter 是 Python 标准库中的一个 GUI(图形用户界面)模块,它可以让你创建窗口、标签、按钮、菜单等等交互式的界面。以下是 Tkinter 中一些简单的函数使用方法。

  1. 导入 Tkinter 包:
import tkinter
  1. 创建主窗口:
root = tkinter.Tk()
  1. 创建标签:
label = tkinter.Label(root, text="Hello, World!")
  1. 显示标签:
label.pack()
  1. 进入主循环:
root.mainloop()

完整的程序:

import tkinterroot = tkinter.Tk()label = tkinter.Label(root, text="Hello, World!")label.pack()root.mainloop()

这个程序会创建一个带有 “Hello, World!” 标签的窗口,并且会一直保持在屏幕上直到退出程序。

2. 简单的控件

在 Tkinter 中,有许多控件可用来创建图形用户界面。下面是一些简单的控件及其用法:

  1. Label (标签)

用于显示文本或图像。

import tkinterroot = tkinter.Tk()label = tkinter.Label(root, text = "Hello World!")label.pack()root.mainloop()
  1. Button (按钮)

用于执行操作或触发事件。

import tkinterroot = tkinter.Tk()def buttonClicked():    print("Button clicked")button = tkinter.Button(root, text = "Click me", command = buttonClicked)button.pack()root.mainloop()
  1. Entry (输入框)

用于获取用户输入的文本。

import tkinterroot = tkinter.Tk()entry = tkinter.Entry(root)entry.pack()def buttonClicked():    print("The text entered is:", entry.get())button = tkinter.Button(root, text = "Submit", command = buttonClicked)button.pack()root.mainloop()

以上控件都是 Tkinter 中的基本控件,掌握了这些,就可以开始创建简单的GUI程序了。

Threading多线程

在 Python 中,可以使用 threading 模块来创建和管理线程。线程是程序执行流的最小单元,不同于进程,所有线程共享同一份数据。下面是一些简单的 threading 使用方法和函数。

  1. 导入 threading 模块
import threading
  1. 创建线程

可以使用 Thread 类创建一个线程。需要给类的构造函数传递一个可调用的函数作为参数,这个函数将会在线程中运行。

def myThread():    print("Thread is running")thread = threading.Thread(target=myThread)thread.start()
  1. 线程间通信

可以使用队列(Queue)和共享内存(Value 和 Array)等机制在线程间传递数据。

使用 Queue:

import threadingimport queuequeue = queue.Queue()def myThread(queue, message):    queue.put(message)thread = threading.Thread(target=myThread, args=(queue, 'Hello, World'))thread.start()message = queue.get()print(message)

使用 Value:

import threadingvalue = threading.Value('i', 0)def myThread(value):    value.value += 1thread = threading.Thread(target=myThread, args=(value,))thread.start()print(value.value)

以上是一些线程使用方法和函数的示例。需要注意的是,多线程程序的正确性可能会受到许多因素的影响,比如数据竞争、死锁、饥饿等等,需要仔细考虑和设计线程间的交互机制。

恶搞代码

在简单了解了Tkinter界面设计以及Threading多线程后,我们就可以写一个恶搞好友的程序啦!

1. 恶作剧界面

以下程序实现了一个简单的恶搞界面

def Death():    root=tk.Tk()    width=200    height=50    screenwidth=root.winfo_screenwidth()    screenheight=root.winfo_screenheight()    x=ra.randint(0,screenwidth)    y=ra.randint(0,screenheight)    root.title("警告")    root.geometry("%dx%d+%d+%d"%(width,height,x,y))    tk.Label(root,text='你的电脑已中毒!',fg='white',bg='black',font=("Comic Sans MS",15),width=30,height=5).pack()    root.mainloop()

2. 恶搞界面的数量

建议for循环中的层数设置适当,避免程序复杂度过大导致系统崩溃(以下代码将for循环设置了十层,会产生10个小窗体)

def Start():    for i in range(10):        t=td.Thread(target=Death)        ti.sleep(0.1)        t.start()

尾声

感谢支持吖!

来源地址:https://blog.csdn.net/m0_68111267/article/details/131274862

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯