tk 文本生成器

import random
import tkinter as tk
import ttkbootstrap as ttk
from tkinter import messagebox
import pyperclipdef wenben_run():def generate_text(original_text, length):# 去掉原始文本中的換行符和空格original_text = original_text.replace('\n', '')original_text = original_text.replace(' ', '')# 獲取原始文本的長度original_length = len(original_text)# 如果指定的長度小于等于原始文本的長度,則直接截取原始文本if length <= original_length:start_index = random.randint(0, original_length - length)return original_text[start_index:start_index + length]# 從原始文本中隨機選擇字符生成指定長度的文本generated_text = ''current_length = 0while current_length < length:if current_length % 4 == 0 and current_length % 5 != 0:# 每4個單位插入其他內容other_content = generate_other_content()generated_text += other_contentcurrent_length += len(other_content)else:random_char = random.choice(original_text)generated_text += random_charcurrent_length += 1return generated_text[:length]def generate_other_content():# 生成其他內容的邏輯,可以根據需要自定義# 這里只是一個示例,可以根據實際需求進行修改other_contents = ['', 'c', 'f', 'c', 'm', '']return random.choice(other_contents)# 生成文本時先清空輸入框# 清空文本框wenben_text_area2.delete(1.0, tk.END)try:# 嘗試將輸入框的內容轉換為整數wenbenlen =  int(wenben_entry.get())print("輸入的整數為:", wenbenlen)except ValueError:# 如果轉換失敗,顯示錯誤提示框messagebox.showerror("錯誤", "輸入的內容不是整數,請重新輸入!")wenbentext = wenben_text_area.get("1.0", tk.END)# print(wenbenlen)# print(wenbentext)length = int(wenbenlen)original_text = wenbentext# 調用生成文本函數generated_text = generate_text(original_text, length)wenben_text_area2.insert(tk.END, generated_text)# 復制內容至剪切板pyperclip.copy(generated_text)wenben_text_area2.insert(tk.END, '\n')wenben_text_area2.insert(tk.END, '\n')wenben_text_area2.insert(tk.END, '\n---------生成文本內容已自動復制!!!')root = ttk.Window(title='文本生成器', # 窗口標題position=(750, 350),  # 窗口運行展示坐標resizable=None,  # 是否固定窗口alpha=0.94  # 虛化
)# 設置窗口大小
root.geometry("520x320")# 提示文本輸入長度標簽
wenben_label = ttk.Label(root, text='設置生成文本長度(如:10):')
wenben_label.grid(row=1, column=0)# 文本長度輸入框
wenben_entry = ttk.Entry(root, width=40)
wenben_entry.grid(row=1, column=1, columnspan=1)# 給文本長度框默認賦值100
wenben_entry.insert(ttk.END, "100")# 生成文本按鈕
wenben_button = ttk.Button(root, width=10, text="生成文本", command=wenben_run)
wenben_button.grid(row=1, column=2, columnspan=2, sticky="w")# 自定義文本提示標簽
wenben_label2 = ttk.Label(root, text='自定義文本內容:')
wenben_label2.grid(row=2, column=0)# 自定義文本輸入框
wenben_text_area = ttk.Text(root, height=5, width=73)
wenben_text_area.grid(row=3, columnspan=3, sticky="w")original_text = """123456789
一二三四五六七八九十
abcdefghijklnmopqrstuvwsyz
ABCDEFGHIJKLNMOPQRSTUVWSYZ!
@#$%^&*()_+<>?,.~{}|/,。"""
# 程序啟動時插入默認的內容
wenben_text_area.insert(ttk.END, original_text)# 生成文本內容提示標簽
wenben_label3 = ttk.Label(root, text='生成的文本內容:')
wenben_label3.grid(row=4, column=0)# 生成文本內容輸入框
wenben_text_area2 = ttk.Text(root, height=8, width=73)
wenben_text_area2.grid(row=5, columnspan=3, sticky="w")# 運行主循環
root.mainloop()

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42731.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42731.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42731.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LLM生成的CUDA CUPTI Metrics for Capability 7.0解釋

LLM生成的CUDA CUPTI Metrics for Capability 7.0解釋 1.原文 2.6.1.3. Metrics for Capability 7.0 2.system_prompt 你是一位GPU專家,請詳細解釋用戶輸入GPU Metric的功能以及如何結合這個指標來優化Kernel的性能,要求專業術語用英文,其它用中文3.輸出 achieved_occupanc…

提升網絡包容性:探索Webkit的訪問性特性

在數字化時代&#xff0c;網絡的無障礙訪問性&#xff08;Accessibility&#xff09;對于確保每個人都能平等地訪問和使用網絡內容至關重要。Webkit&#xff0c;作為多個流行瀏覽器的核心渲染引擎&#xff0c;提供了一系列的訪問性特性&#xff0c;以支持殘障用戶更好地瀏覽網頁…

Windows11配置WSL2支持代理上網

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、安裝WSL2分發版二、配置步驟三、測試總結 前言 說起來本來這個功能我也不需要的&#xff0c;只是最近突然有個需求就順便研究了下&#xff0c;WSL2默認的網…

大模型/NLP/算法面試題總結1——大語言模型有哪些//泛化能力

1、了解哪些大語言模型&#xff1f; 1. GPT系列 GPT-3&#xff1a;由OpenAI開發&#xff0c;具有1750億個參數&#xff0c;是迄今為止最強大的自然語言處理模型之一。GPT-3能夠生成連貫的文本&#xff0c;涵蓋多種文體&#xff0c;如詩歌、小說、新聞報道、代碼等。然而&#…

北京大學長安汽車發布毫米波與相機融合模型RCBEVDet:最快能達到每秒28幀

Abstract 三維目標檢測是自動駕駛中的關鍵任務之一。為了在實際應用中降低成本&#xff0c;提出了利用低成本的多視角相機進行3D目標檢測&#xff0c;以取代昂貴的LiDAR傳感器。然而&#xff0c;僅依靠相機很難實現高精度和魯棒性的3D目標檢測。解決這一問題的有效方法是將多視…

C++入門基礎(2)

目錄 一、引用: 1、定義&#xff1a; 2、特性&#xff1a; 3、引用的使用&#xff1a; 4、const引用&#xff1a;控制權限 const引用定義: const引用可以接收3種對象&#xff1a; 1、正常對象&#xff1a; 2、臨時對象&#xff1a; 3、const對象&#xff1a; 總結&…

C++筆試強訓3

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、選擇題1-5題6-10題 二、編程題題目一題目二 一、選擇題 1-5題 如圖所示&#xff0c;如圖所示p-3指向的元素是6&#xff0c;printf里面的是%s&#xff0c;從6開…

Java爬蟲翻頁

編寫一個Java爬蟲以進行翻頁通常涉及到使用HTTP客戶端&#xff08;如Apache HttpClient或OkHttp&#xff09;來發送請求&#xff0c;解析HTML頁面&#xff08;如使用Jsoup庫&#xff09;&#xff0c;以及處理分頁邏輯&#xff08;如通過URL參數或頁面內的鏈接進行翻頁&#xff…

華為機試HJ108求最小公倍數

華為機試HJ108求最小公倍數 題目&#xff1a; 想法&#xff1a; 要找到輸入的兩個數的最小公倍數&#xff0c;這個最小公倍數要大于等于其中最大的那個數值&#xff0c;遍歷最大的那個數值的倍數&#xff0c;最大的最小公倍數就是輸入的兩個數值的乘積 input_number_list i…

C++休眠的方法

Windows的API函數 Sleep(INFINITE); 休眠時間為永久 Linux的API函數sleep 沒有直接表示無限時間的參數&#xff0c;根據POSIX標準&#xff0c;sleep() 函數的參數應該是 unsigned int 類型&#xff0c;因此最大可以接受的參數值是 UINT_MAX&#xff0c;即 4294967295 秒。sleep…

OpenFWI代碼

重點關注文章第4部分 一、代碼模塊概覽 這一部分了解代碼主要實現的功能有哪些。 二、運行 這一部分關注如何跑通。 三、數據集 12個數據集&#xff08;11個2D1個3D&#xff09; 對計算機而言&#xff0c;上述輸入、輸出維度大小是按次數定義的。 以“Vel&#xff0c;F…

線程池【開發實踐】

文章目錄 一、為什么要用線程池1.1 單線程的問題1.2 手動創建多線程的問題1.3 線程池的作用&#xff08;優點&#xff09;1.4 線程池的使用場景 二、線程池的基礎知識2.1 線程池的核心組件2.2 JUC中的線程池架構2.3 線程池的配置參數2.4 線程池常見的拒絕策略&#xff08;可自定…

appium 實戰問題 播放視頻時無法定位到元素

背景 在做UI自動化時&#xff0c;有播放詳情頁的用例&#xff0c;但是發現視頻在播放的時候無法定位到元素或者很慢&#xff0c;了解到appium在動態的頁面實時獲取布局元素導致定位變慢。所以只能將視頻暫停在操作元素&#xff0c;點擊到暫停按鈕又是個問題&#xff0c;通過ad…

昇思25天學習打卡營第21天|LSTM+CRF序列標注

1. 學習內容復盤 概述 序列標注指給定輸入序列&#xff0c;給序列中每個Token進行標注標簽的過程。序列標注問題通常用于從文本中進行信息抽取&#xff0c;包括分詞(Word Segmentation)、詞性標注(Position Tagging)、命名實體識別(Named Entity Recognition, NER)等。以命名…

Spring Boot項目中JPA操作視圖會改變原表嗎?

一直有一種認識就是:使用JPA對視圖操作,不會影響到原表。 直觀的原因就是視圖是一種數據庫中的虛擬表,它由一個或多個表中的數據通過SQL查詢組成。視圖不包含數據本身,而是保存了一條SQL查詢,這條查詢是用來展示數據的。 但是在實際項目種的一個場景顛覆和糾正了這個認識…

匯川伺服 (4)FFT、機械特性、閉環、慣量、剛性、抑制振動

一、參數解釋 二、FFT 三、機械特性分析 四、多級配方與對象字典 對機組網配方 對象字典 五、InoServoShop 主要是用于調試620P620N將壓縮報解壓后不需要安裝就可以直接使用 六、InoDriveWorkShop 主要是調試660 670 810 520 等系列 慣量識別 Etune Stune 慣量比調試 大慣…

Error:sql: expected 1 arguments, got 2

一 背景 在測試一個API接口時&#xff0c;看到日志里面突然拋出一個錯誤&#xff1a;Error:sql: expected 1 arguments, got 2 看了下&#xff0c;對應的表里面是有相關數據的&#xff0c;sql語句放在mysql里面執行也是沒問題&#xff01;那奇了怪了&#xff0c;為啥會產生這樣…

git只列出本地分支

git只列出本地分支 git branch --list git強制刪除本地分支 git branch -D_error: the branch dlx-test is not fully merged. -CSDN博客文章瀏覽閱讀648次。git branch -d 可以通過: git branch 查看所有本地分支及其名字&#xff0c;然后刪除特定分支。git刪除遠程remote分支…

算法之工程化內容(2)—— Git常用命令

目錄 1. git初始化配置 2. 新建倉庫 3. 工作區——>暫存區——>本地倉庫 4. git reset回退版本 5. 查看差異 git diff 6. 刪除文件git rm 7. .gitignore 8. vscode操作git 9. git分支、合并和刪除 10. 解決合并沖突 11. 回退和rebase 12. 添加遠程倉庫 參考鏈接&#xff…

【Go語言】Go語言的占位符

Go語言的占位符 Golang 的字符串占位符在 fmt 包的各種打印函數中使用&#xff0c;如 fmt.Printf、fmt.Sprintf。 變量值與類型的打印 %v: 打印變量的值 %v 會根據變量的類型選擇合適的格式進行打印。對于結構體&#xff0c;%v 會打印出結構體的字段。對于指針類型&#xf…