- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我目前正在编写的一个简单的记事本程序。大多数事情都在工作,但无法让保存工作。我在定义保存的地方不知道如何创建保存功能(不是另存为)。
不是完整的代码
from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *
from tkinter.font import *
import sys, time, sched, math
class Format:
def __init__(self, notepad):
print("Font")
class ZPad:
def __init__(self):
self.root = Tk()
self.root.title("ZPad")
self.root.wm_iconbitmap('Notepad.ico')
self.scrollbar = Scrollbar(self.root)
self.scrollbar.pack(side=RIGHT, fill=Y)
self.textbox = Text(self.root, yscrollcommand=self.scrollbar.set, undo=TRUE)
self.textbox.pack(side=LEFT, fill=BOTH, expand=YES)
#Menu Bar
self.menubar = Menu(self.root)
self.filemenu = Menu(self.menubar, tearoff=0)
self.filemenu.add_command(label="New", command=self.New, accelerator="Ctrl+N")
self.filemenu.add_command(label="Open...", command=self.open, accelerator="Ctrl+O")
self.filemenu.add_command(label="Save", command=self.Save, accelerator="Ctrl+S")
self.filemenu.add_command(label="Save as...", command=self.Save_as, accelerator="Ctrl+Shift+S")
self.filemenu.add_separator()
self.filemenu.add_command(label="Exit", command=self.quit, accelerator="Ctrl+Q")
self.menubar.add_cascade(label="File", menu=self.filemenu)
self.editmenu = Menu(self.menubar, tearoff=0)
self.editmenu.add_command(label="Undo", command=self.Undo, accelerator="Ctrl+Z")
self.editmenu.add_command(label="Redo", command=self.Redo, accelerator="Ctrl+Y")
self.editmenu.add_separator()
self.editmenu.add_command(label="Cut", command=self.Cut, accelerator="Ctrl+X")
self.editmenu.add_command(label="Copy", command=self.Copy, accelerator="Ctrl+C")
self.editmenu.add_command(label="Paste", command=self.Paste, accelerator="Ctrl+P")
self.editmenu.add_command(label="Clear All", command=self.Clear_All, accelerator="Ctrl+Shift+A")
self.editmenu.add_separator()
self.editmenu.add_command(label="Format", command=self.options, accelerator="Ctrl+T")
self.menubar.add_cascade(label="Edit", menu=self.editmenu)
self.helpmenu = Menu(self.menubar, tearoff=0)
self.helpmenu.add_command(label="About...", command=self.About)
self.menubar.add_cascade(label="Help", menu=self.helpmenu)
self.root.config(menu=self.menubar)
self.root.mainloop()
def Save(self):
print("Save")
def Save_as(self):
global file
file = tkinter.filedialog.asksaveasfile(mode='w', defaultextension=".z", filetypes = ( ("ztext file", "*.z"),("zytext", "*.zy") ) )
if file is None:
return
else:
print(file)
textoutput = self.textbox.get(0.0, END)
file.write(textoutput.rstrip())
file.write("\n")
notepad = ZPad()
我在 Windows 8.1 中使用 python 3.4。谢谢。
最佳答案
这是一个保存和另存为函数的简单示例,带有注释:
def save(self):
contents = self.textbox.get(1.0,"end-1c") #store the contents of the text widget in a str
try: #this try/except block checks to
with open(self.f, 'w') as outputFile: #see if the str containing the output
outputFile.write(contents) #file (self.f) exists, and we can write to it,
except AttributeError: #and if it doesn't,
self.save_as() #call save_as
def save_as(self):
contents = self.textbox.get(1.0,"end-1c")
self.f = tkFileDialog.asksaveasfilename( #this will make the file path a string
defaultextension=".z", #so it's easier to check if it exists
filetypes = (("ztext file", "*.z"), #in the save function
("zytext", "*.zy")))
with open(self.f, 'w') as outputFile:
outputFile.write(contents)
还有其他方法可以做到这一点,但这会在紧要关头起作用。想想 save
函数需要什么:要保存的文本和要保存的文件,然后从那里开始。
关于Python 创建保存按钮,将编辑后的版本保存到同一文件(不是另存为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22848080/
我添加了编辑按钮 self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButto
我试图在运行时“干净地”更改 UIBarButtonItem 文本,以便可以切换编辑/完成模式。然而,每次我在运行时更改 title 属性时,动画看起来都很笨拙。我正在寻找模拟联系人应用程序中“编辑/
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我想更改 INI 文件中的一些值。不幸的是,我在 2 个不同的部分有键,它们共享相同的名称但需要不同的值。我的代码使用 Get-IniContent函数来自 PsIni . 示例 INI 文件: [P
是否有通知或委托(delegate)方法可用于检测表格 View 何时进入编辑状态? 我想要做的是检测表正在编辑,然后显示一个额外的行,上面写着“添加新项目”或类似的东西。 我尝试在加载 View C
例如,我试图从 svg 读取样式块,我可以获取类型但不能获取字符串。 $svgTemplate = new SimpleXMLElement($_POST['SvgTemplateImport']);
我可以使用 self.navigationItem.leftBarButtonItem = self.editButtonItem; 通过按下导航面板上的编辑按钮让 UITableViewContro
我正在使用markitup!作为 Markdown 编辑器( example )。 目前,我需要按预览按钮(绿色勾号)来显示预览面板。 我希望自动显示预览 - 我怎样才能实现这一点? 最佳答案 我没有
我的处境非常糟糕。我丢失了源代码,客户需要在应用程序中进行一些更改。想想一个编辑程序集的例子:Test.dll,然后添加代码行,最后重新编译它 所以我的问题是: -可以这样做吗? -如果可能的话,什么
我使用了一些 JavaScript 来通过按钮更改段落元素的内容。它工作正常,但我还想让按钮控制标题和附图。给我指明正确的方向吗? 这是我用来更改段落的代码 .... 谢谢! 最佳答案 尝试将 Ja
是否有任何 Emacs lisp 插件可以让我轻松地在 yaml 文件中编辑或输入数据。 例如: --- sample yaml file ---Name : Addr :City :State:Zi
新手Java问题,我确定已经解决了,但是在任何地方都找不到解决方案:( 我想使用这里包含的java程序http://sourceforge.net/projects/ant-tibco/files/
在我的网页中,我使用了 gridview。在这个 GridView 中,它显示了一组用户信息。我刚刚从智能标签菜单中添加了一个按钮。我的要求是当我点击每个用户对应的按钮时,它会重定向到另一个页面并显示
我想在没有任何框架的情况下直接在 JS 中编辑一个 SVG 文件。 基本上我有一个 SVG 主文件,其中应该包含一些子 SVG。 我已经在 Ajax 中检索了这些子项的内容,但我想将它们插入到 SVG
我有我的 ViewModel,我有我的 Controller 可以从 ViewModel 正确显示,但是我不确定如何使 ViewModel 可编辑,以便将编辑后的数据发送回模型。我只想编辑 Order
我不确定我的做法是否正确。 IplImage *dog_1 = cvCreateImage(cvGetSize(oriImg), oriImg->depth, oriImg->nChannels);
我有一个创建二维码的网络服务器。在此过程中,我得到一个 BarcodeQRCode 对象,我可以从中获取图像 (.getImage())。 我不确定如何将这张图片发回给客户。我不想将它保存在文件中,而
已编辑:我的第一个问题解决了,但又出现了另一个问题,只提供了一个用户 ID。这是修改后的代码的屏幕截图。 回到表格,用户将按下编辑按钮,这样他就可以编辑问题并给出适当的操作.. 我的上表代码是这样的:
据我了解,我无法通过重新启动服务器来清除 MySQL 查询缓存。 每次运行 sql 时,我都试图获得与第一个代码块类似的结果 1-这是在重新启动 Apache 和 MySQL 之前(第一次使用这些查询
我正在创建一个页面来搜索项目,然后能够编辑/更新它。当它只返回一个结果时我能够做到这一点,但当它给我多个结果时我只能编辑最后一项。下面是我的代码: ....... $dj =$_POST[djnum]
我是一名优秀的程序员,十分优秀!