五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

教你如何使用Python Tkinter庫制作記事本

發(fā)布日期:2022-03-14 09:07 | 文章來源:gibhub

Tkinter庫制作記事本

現(xiàn)在為了創(chuàng)建這個記事本,你的系統(tǒng)中應該已經(jīng)安裝了 Python 3 和 Tkinter。您可以根據(jù)系統(tǒng)要求下載合適的python 包。成功安裝 python 后,您需要安裝 Tkinter(一個 Python 的 GUI 包)。

使用此命令安裝 Tkinter :

pip install python-tk

導入 Tkinter :

import tkinter
import os
from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *

注意:messagebox用于在稱為記事本的白框中寫入消息,filedialog用于在您從系統(tǒng)中的任何位置打開文件或?qū)⑽募4嬖谔囟ㄎ恢没蛭恢脮r出現(xiàn)的對話框。

添加菜單:

# Add controls(widget) 
  
self.__thisTextArea.grid(sticky = N + E + S + W) 
  
# To open new file 
self.__thisFileMenu.add_command(label = "New", 
 command = self.__newFile) 
  
# To open a already existing file 
self.__thisFileMenu.add_command(label = "Open", 
 command = self.__openFile) 
  
# To save current file 
self.__thisFileMenu.add_command(label = "Save", 
 command = self.__saveFile) 
  
# To create a line in the dialog 
self.__thisFileMenu.add_separator() 
  
# To terminate 
self.__thisFileMenu.add_command(label = "Exit", 
 command = self.__quitApplication) 
self.__thisMenuBar.add_cascade(label = "File", 
menu = self.__thisFileMenu) 
  
# To give a feature of cut 
self.__thisEditMenu.add_command(label = "Cut", 
 command = self.__cut) 
  
# To give a feature of copy 
self.__thisEditMenu.add_command(label = "Copy", 
 command = self.__copy) 
  
# To give a feature of paste 
self.__thisEditMenu.add_command(label = "Paste", 
 command = self.__paste) 
  
# To give a feature of editing 
self.__thisMenuBar.add_cascade(label = "Edit", 
menu = self.__thisEditMenu) 
  
# To create a feature of description of the notepad 
self.__thisHelpMenu.add_command(label = "About Notepad", 
 command = self.__showAbout) 
self.__thisMenuBar.add_cascade(label = "Help", 
menu = self.__thisHelpMenu) 
  
self.__root.config(menu = self.__thisMenuBar) 
  
self.__thisScrollBar.pack(side = RIGHT, fill = Y) 
  
# Scrollbar will adjust automatically 
# according to the content 
self.__thisScrollBar.config(command = self.__thisTextArea.yview) 
self.__thisTextArea.config(yscrollcommand = self.__thisScrollBar.set) 

使用此代碼,我們將在記事本的窗口中添加菜單,并向其中添加復制、粘貼、保存等內(nèi)容。

添加功能:

def __quitApplication(self): 
 self.__root.destroy() 
 # exit() 
  
def __showAbout(self): 
 showinfo("Notepad", "Mrinal Verma") 
  
def __openFile(self): 
 
 self.__file = askopenfilename(defaultextension=".txt", 
filetypes=[("All Files","*.*"), 
 ("Text Documents","*.txt")]) 
  
 if self.__file == "": 
  
  # no file to open 
  self.__file = None
 else: 
  # try to open the file 
  # set the window title 
  self.__root.title(os.path.basename(self.__file) + " - Notepad") 
  self.__thisTextArea.delete(1.0,END) 
  
  file = open(self.__file,"r") 
  
  self.__thisTextArea.insert(1.0,file.read()) 
  
  file.close() 
  
 
def __newFile(self): 
 self.__root.title("Untitled - Notepad") 
 self.__file = None
 self.__thisTextArea.delete(1.0,END) 
  
def __saveFile(self): 
  
 if self.__file == None: 
  #save as new file 
  self.__file = asksaveasfilename(initialfile='Untitled.txt', 
defaultextension=".txt", 
filetypes=[("All Files","*.*"), 
 ("Text Documents","*.txt")]) 
  
  if self.__file == "": 
self.__file = None
  else: 
  
# try to save the file 
file = open(self.__file,"w") 
file.write(self.__thisTextArea.get(1.0,END)) 
file.close() 
# change the window title 
self.__root.title(os.path.basename(self.__file) + " - Notepad") 

  
 else: 
  file = open(self.__file,"w") 
  file.write(self.__thisTextArea.get(1.0,END)) 
  file.close() 
  
def __cut(self): 
 self.__thisTextArea.event_generate("<<Cut>>") 
  
def __copy(self): 
 self.__thisTextArea.event_generate("<<Copy>>") 
  
def __paste(self): 
 self.__thisTextArea.event_generate("<<Paste>>") 

在這里,我們添加了記事本中所需的所有功能,您也可以添加其他功能,例如字體大小、字體顏色、粗體、下劃線等。

合并后的主要代碼:

import tkinter
import os
from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *
 
 
class Notepad:
 __root = Tk()
 
 # default window width and height
 __thisWidth = 300
 __thisHeight = 300
 __thisTextArea = Text(__root)
 __thisMenuBar = Menu(__root)
 __thisFileMenu = Menu(__thisMenuBar, tearoff=0)
 __thisEditMenu = Menu(__thisMenuBar, tearoff=0)
 __thisHelpMenu = Menu(__thisMenuBar, tearoff=0)
 
 # To add scrollbar
 __thisScrollBar = Scrollbar(__thisTextArea)
 __file = None
 
 def __init__(self, **kwargs):
 
  # Set icon
  try:
self.__root.wm_iconbitmap("Notepad.ico")
  except:
pass
 
  # Set window size (the default is 300x300)
 
  try:
self.__thisWidth = kwargs['width']
  except KeyError:
pass
 
  try:
self.__thisHeight = kwargs['height']
  except KeyError:
pass
 
  # Set the window text
  self.__root.title("Untitled - Notepad")
 
  # Center the window
  screenWidth = self.__root.winfo_screenwidth()
  screenHeight = self.__root.winfo_screenheight()
 
  # For left-alling
  left = (screenWidth / 2) - (self.__thisWidth / 2)
 
  # For right-allign
  top = (screenHeight / 2) - (self.__thisHeight / 2)
 
  # For top and bottom
  self.__root.geometry('%dx%d+%d+%d' % (self.__thisWidth,
self.__thisHeight,
left, top))
 
  # To make the textarea auto resizable
  self.__root.grid_rowconfigure(0, weight=1)
  self.__root.grid_columnconfigure(0, weight=1)
 
  # Add controls (widget)
  self.__thisTextArea.grid(sticky=N + E + S + W)
 
  # To open new file
  self.__thisFileMenu.add_command(label="New",
command=self.__newFile)
 
  # To open a already existing file
  self.__thisFileMenu.add_command(label="Open",
command=self.__openFile)
 
  # To save current file
  self.__thisFileMenu.add_command(label="Save",
command=self.__saveFile)
 
  # To create a line in the dialog
  self.__thisFileMenu.add_separator()
  self.__thisFileMenu.add_command(label="Exit",
command=self.__quitApplication)
  self.__thisMenuBar.add_cascade(label="File",
  menu=self.__thisFileMenu)
 
  # To give a feature of cut
  self.__thisEditMenu.add_command(label="Cut",
command=self.__cut)
 
  # to give a feature of copy
  self.__thisEditMenu.add_command(label="Copy",
command=self.__copy)
 
  # To give a feature of paste
  self.__thisEditMenu.add_command(label="Paste",
command=self.__paste)
 
  # To give a feature of editing
  self.__thisMenuBar.add_cascade(label="Edit",
  menu=self.__thisEditMenu)
 
  # To create a feature of description of the notepad
  self.__thisHelpMenu.add_command(label="About Notepad",
command=self.__showAbout)
  self.__thisMenuBar.add_cascade(label="Help",
  menu=self.__thisHelpMenu)
 
  self.__root.config(menu=self.__thisMenuBar)
 
  self.__thisScrollBar.pack(side=RIGHT, fill=Y)
 
  # Scrollbar will adjust automatically according to the content
  self.__thisScrollBar.config(command=self.__thisTextArea.yview)
  self.__thisTextArea.config(yscrollcommand=self.__thisScrollBar.set)
 
 def __quitApplication(self):
  self.__root.destroy()
  # exit()
 
 def __showAbout(self):
  showinfo("Notepad", "Mrinal Verma")
 
 def __openFile(self):
 
  self.__file = askopenfilename(defaultextension=".txt",
 filetypes=[("All Files", "*.*"),
("Text Documents", "*.txt")])
 
  if self.__file == "":
 
# no file to open
self.__file = None
  else:
 
# Try to open the file
# set the window title
self.__root.title(os.path.basename(self.__file) + " - Notepad")
self.__thisTextArea.delete(1.0, END)
 
file = open(self.__file, "r")
 
self.__thisTextArea.insert(1.0, file.read())
 
file.close()
 
 def __newFile(self):
  self.__root.title("Untitled - Notepad")
  self.__file = None
  self.__thisTextArea.delete(1.0, END)
 
 def __saveFile(self):
 
  if self.__file == None:
# Save as new file
self.__file = asksaveasfilename(initialfile='Untitled.txt',
 defaultextension=".txt",
 filetypes=[("All Files", "*.*"),("Text Documents", "*.txt")])
 
if self.__file == "":
 self.__file = None
else:
 
 # Try to save the file
 file = open(self.__file, "w")
 file.write(self.__thisTextArea.get(1.0, END))
 file.close()
 
 # Change the window title
 self.__root.title(os.path.basename(self.__file) + " - Notepad")
 
 
  else:
file = open(self.__file, "w")
file.write(self.__thisTextArea.get(1.0, END))
file.close()
 
 def __cut(self):
  self.__thisTextArea.event_generate("<<Cut>>")
 
 def __copy(self):
  self.__thisTextArea.event_generate("<<Copy>>")
 
 def __paste(self):
  self.__thisTextArea.event_generate("<<Paste>>")
 
 def run(self):
 
  # Run main application
  self.__root.mainloop()
 
 # Run main application
 
 
notepad = Notepad(width=600, height=400)
notepad.run()

要運行此代碼,請使用擴展名.py保存它,然后打開 cmd(命令提示符)并移動到保存文件的位置,然后編寫以下內(nèi)容

python "filename".py 

然后按回車,它就會運行?;蛘呖梢酝ㄟ^簡單地雙擊您的.py擴展文件直接運行。

到此這篇關于教你如何使用Python Tkinter庫制作記事本的文章就介紹到這了,更多相關Tkinter庫制作記事本內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

美國服務器租用

版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部