最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+tkinter編寫一個(gè)最近很火的強(qiáng)制表白神器

 更新時(shí)間:2023年04月02日 11:24:22   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)tkinter編寫一個(gè)最近很火的強(qiáng)制表白神器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起嘗試一下

盡管Python提供了多個(gè)消息框已經(jīng)能夠滿足大部分正常人的需求,但并不夠靈活,所以有的時(shí)候不得不自定義消息框。

新建窗口

消息框的本質(zhì)是一個(gè)窗口、一段信息,外加兩個(gè)按鈕

import tkinter as tk

FONT= ("微軟雅黑", 20)
def msgBox(txt, yesFunc=None, noFunc=None):
    win = tk.Tk()
    win.title("started")
    win.geometry("400x200+300+100")
    label = tk.Label(win,text=txt, font=FONT)
    label.pack(side=tk.TOP,expand=tk.YES,fill=tk.BOTH)
    btnYes = tk.Button(win, text="是", width=8,
        font=FONT, command = lambda : yesFunc(win))
    btnYes.pack(side=tk.LEFT,expand=tk.YES,fill=tk.Y)
    btnNo = tk.Button(win, text="否", width=8,font=FONT)
    btnNo.bind("<Enter>", lambda evt: noFunc(evt, win))
    btnNo.pack(side=tk.RIGHT,expand=tk.YES,fill=tk.Y)

msgBox("你是不是喜歡我?")

FONT是一個(gè)全局變量,表示字體及其大小,在labelbutton創(chuàng)建的時(shí)候,會(huì)通過(guò)font參數(shù)進(jìn)行設(shè)置。

pack是一種布局方式,顧名思義,就是打包。如果把窗口想象成是一個(gè)箱子,那么打包肯定是哪里有空打哪里。比如最下面放了一層衣服,沒地方放了只能放在第二層;如果第二層只放了一個(gè)磚頭,那么其他位置還有空間,于是可以貼著磚頭再放一個(gè)磚頭。

在上面的案例中,將label從上面壓下來(lái),然后下面左右兩側(cè)分別放置一個(gè)按鈕。

其中,無(wú)論還是,都需要對(duì)窗口進(jìn)行操作,所以回調(diào)函數(shù)使用了lambda表達(dá)式,從而能夠?qū)Υ翱谶M(jìn)行操作。<Enter>表示當(dāng)鼠標(biāo)浮動(dòng)在組件上方時(shí)響應(yīng),其回調(diào)函數(shù)需要輸入一個(gè)參數(shù)evt

效果如下

關(guān)閉窗口

接下來(lái)寫的邏輯,即關(guān)閉現(xiàn)有窗口后,彈出一個(gè)新的窗口,新的窗口只需要有一個(gè)

def yesFunc(win):
    x, y = win.winfo_x(), win.winfo_x()
    win.destroy()
    win = tk.Tk()
    win.geometry(f"400x200+{x}+{y}")
    txt = "放學(xué)去房后小樹林\n不見不散\n嘿嘿嘿"
    label = tk.Label(win,text=txt, font=FONT)
    label.pack(side=tk.TOP,expand=tk.YES,fill=tk.BOTH)
    btn = tk.Button(win, text="好的呀", width=12, font=FONT,
        command=lambda:win.destroy())
    btn.pack(side=tk.TOP)

msgBox("你是不是喜歡我?", yesFunc)

destroy即關(guān)閉當(dāng)前窗口。在當(dāng)前窗口被關(guān)閉后,在原來(lái)窗口的位置處新建一個(gè)窗口,win_winfo_x, win_winfo_y用于獲取窗口位置。

效果如下

挪動(dòng)窗口

然后寫的邏輯,當(dāng)鼠標(biāo)懸浮在的按鈕上時(shí),挪動(dòng)窗口的位置。由于

import random
def randInt(a, b):
    r = random.randint(-a, a)
    while abs(r) < abs(b):
        r = random.randint(-a, a)
    return r

def noFunc(evt, win):
    x, y = win.winfo_x(), win.winfo_x()
    x += randInt(100, 80)
    y += randInt(30, 20)
    win.geometry(f"400x200+{x}+{y}")

msgBox("你是不是喜歡我?", yesFunc, noFunc)

通過(guò)geometry函數(shù),不僅可以再創(chuàng)建窗口的時(shí)候聲明窗口位置,而且可以隨時(shí)隨地修改窗口的位置。這樣一來(lái),當(dāng)鼠標(biāo)浮動(dòng)在按鈕上的時(shí)候,甚至還沒點(diǎn)擊,窗口就躲開了。

效果如下

到此這篇關(guān)于Python+tkinter編寫一個(gè)最近很火的強(qiáng)制表白神器的文章就介紹到這了,更多相關(guān)Python tkinter制作強(qiáng)制表白神器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python Timer 類使用介紹

    python Timer 類使用介紹

    這篇文章主要介紹了python Timer 類使用介紹的相關(guān)資料,幫助大家更好的理解和使用python iupdatable包,感興趣的朋友可以了解下
    2020-12-12
  • pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)

    pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)

    這篇文章主要介紹了pytorch 如何使用batch訓(xùn)練lstm網(wǎng)絡(luò)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中日期和時(shí)間的用法超強(qiáng)總結(jié)

    Python中日期和時(shí)間的用法超強(qiáng)總結(jié)

    時(shí)間無(wú)疑是生活各個(gè)方面中最關(guān)鍵的因素之一,因此,記錄和跟蹤時(shí)間變得非常重要。在?Python?中,可以通過(guò)其內(nèi)置庫(kù)跟蹤日期和時(shí)間。今天我們來(lái)介紹關(guān)于?Python?中的日期和時(shí)間,一起來(lái)了解如何使用time和datetime模塊查找和修改日期和時(shí)間
    2022-10-10
  • Python 幾行代碼即可實(shí)現(xiàn)人臉識(shí)別

    Python 幾行代碼即可實(shí)現(xiàn)人臉識(shí)別

    Python中實(shí)現(xiàn)人臉識(shí)別功能有多種方法,依賴于python膠水語(yǔ)言的特性,我們通過(guò)調(diào)用包可以快速準(zhǔn)確的達(dá)成這一目的,本文給大家分享使用Python實(shí)現(xiàn)簡(jiǎn)單的人臉識(shí)別功能的操作步驟,感興趣的朋友一起看看吧
    2022-02-02
  • Python3 實(shí)現(xiàn)文件批量重命名示例代碼

    Python3 實(shí)現(xiàn)文件批量重命名示例代碼

    在Python中os模塊里,os.renames() 方法用于遞歸重命名目錄或文件。這篇文章主要介紹了Python3 文件批量重命名操作示例,需要的朋友可以參考下
    2019-06-06
  • Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹

    Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹,本文講解了math包的常用函數(shù),同時(shí)給出了random包的使用例子,需要的朋友可以參考下
    2014-11-11
  • Python+Turtle繪制可愛的小蜜蜂詳解

    Python+Turtle繪制可愛的小蜜蜂詳解

    turtle庫(kù)是一個(gè)點(diǎn)線面的簡(jiǎn)單圖像庫(kù),在Python2.6之后被引入進(jìn)來(lái),能夠完成一些比較簡(jiǎn)單的幾何圖像可視化。本文將利用turtle繪制一個(gè)可愛的小蜜蜂,感興趣的可以試一試
    2022-05-05
  • 簡(jiǎn)單介紹Python下自己編寫web框架的一些要點(diǎn)

    簡(jiǎn)單介紹Python下自己編寫web框架的一些要點(diǎn)

    這篇文章主要介紹了簡(jiǎn)單介紹Python下自己編寫web框架的一些要點(diǎn),示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • python時(shí)間序列按頻率生成日期的方法

    python時(shí)間序列按頻率生成日期的方法

    這篇文章主要介紹了python時(shí)間序列按頻率生成日期的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python中的?pass?占位語(yǔ)句

    Python中的?pass?占位語(yǔ)句

    這篇文章主要介紹了Python中的?pass?占位語(yǔ)句,Python?pass是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性,下文具體的相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論

柳林县| 梨树县| 赣榆县| 昌图县| 波密县| 浙江省| 岫岩| 阿鲁科尔沁旗| 彰化县| 科技| 桦川县| 泸西县| 依兰县| 沐川县| 思南县| 商丘市| 濮阳市| 商河县| 漳州市| 丹阳市| 东城区| 卓尼县| 花垣县| 石台县| 鄂托克前旗| 延川县| 新丰县| 双辽市| 公安县| 克什克腾旗| 永川市| 泗阳县| 虞城县| 县级市| 祁门县| 延安市| 武强县| 宜宾市| 右玉县| 冕宁县| 大宁县|