小编Bry*_*ley的帖子

将高级功能添加到tkinter文本小部件

我正在开发一个简单的消息传递系统,需要将以下内容添加到Tkinter文本小部件:

  1. 拼写检查
  2. 选项更改字体(在所选文本上)
  3. 更改字体颜色的选项(在所选文本上)
  4. 更改字体大小的选项(在所选文本上)

我知道tkinter Text小部件能够通过标记机制使用多种字体和颜色,但我不明白如何使用这些功能.

如何使用Text小部件的功能实现这些功能?具体来说,我如何更改单词的字体系列,颜色和大小,以及如何使用它来实现拼写检查,其中拼写错误的单词加下划线或着色与文本的其余部分不同.

python windows text message tkinter

14
推荐指数
2
解决办法
2万
查看次数

如何让argparse从带有选项而不是前缀的文件中读取参数

我想知道如何使用python的argparse模块从命令行和文本文件中读取参数.我知道argparse的,fromfile_prefix_chars但这不是我想要的.我想要这个行为,但我不想要语法.我想要一个如下所示的界面:

$ python myprogram.py --foo 1 -A somefile.txt --bar 2
Run Code Online (Sandbox Code Playgroud)

当argparse看到-A时,它应该停止从sys.argv或我给它的任何东西读取,并调用我写的函数,它将读取somefile.text并返回一个参数列表.当文件用尽时,它应该继续解析sys.argv或其他什么.重要的是文件中的参数处理顺序发生(即:应该处理-foo,然后处理文件中的参数,然后是-bar,以便文件中的参数可以覆盖--foo,和 - bar可能会覆盖文件中的内容).

这样的事情可能吗?我可以编写一个自定义函数,将新参数推送到argparse的堆栈上,或者是那种效果吗?

python python-2.7 argparse

14
推荐指数
2
解决办法
9688
查看次数

如何在tkinter~python中放置在网格中的两个小部件之间添加空格?

一个.已将小部件放在网格的第0行中,如下所示.

self.a_button = Button(root, text="A Button")
self.a_button.grid(row=0, column=1)
Run Code Online (Sandbox Code Playgroud)

湾 并尝试在网格内的第2行放置另一个小部件.

self.b_button = Button(root, text="B Button")
self.b_button.grid(row=2, column=1)
Run Code Online (Sandbox Code Playgroud)

但是当我运行程序时,我看不到小部件之间有任何空间,而是一个接一个地堆叠.

那么,我如何编程以允许放置在不同行中的两个小部件之间的空间?分享您的意见!!

python tkinter python-2.7

14
推荐指数
1
解决办法
3万
查看次数

如何在tkinter画布中获取对象的坐标?

我似乎无法弄清楚如何x,y使用Python通过检索在Tkinter画布上创建的椭圆的位置

c.create_oval(x0, y0, x1, y2)
Run Code Online (Sandbox Code Playgroud)

据我所知,Tkinter在指定的框内创建椭圆x0,y0,x1,y2,如果我可以获得那些也可以工作的坐标.

我需要坐标将椭圆移动一个等于鼠标坐标和实际椭圆的偏移量.

python tkinter

13
推荐指数
1
解决办法
3万
查看次数

如何在Tkinter Text小部件中绑定自我事件后,它将被Text小部件绑定?

我想在Text窗口小部件类绑定之后绑定自身事件,以便在调用绑定函数时更改窗口小部件的文本.例如self.text.bind("<Key>", self.callback),在"文本"窗口小部件中的内容更改之前调用我的绑定.

python events binding text tkinter

13
推荐指数
1
解决办法
1万
查看次数

在Tkinter中保存文件对话框

我在python中实现了一个基于GUI的文本编辑器.
我已经显示了文本区域但是当我尝试在Tkinter中使用asksaveasfile方法时,它显示文件已经保存但是当我尝试在桌面编辑器中打开相同的文件时,它会给我一个空白文件.

仅,创建并保存文件.它的内容不是.

我想知道为什么.难道我做错了什么?这是我的代码:

from Tkinter import *
import tkMessageBox
import Tkinter
import tkFileDialog

def donothing():
   print "a"

def file_save():
    name=asksaveasfile(mode='w',defaultextension=".txt")
    text2save=str(text.get(0.0,END))
    name.write(text2save)
    name.close

root = Tk()
root.geometry("500x500")
menubar=Menu(root)
text=Text(root)
text.pack()
filemenu=Menu(menubar,tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=file_save)
filemenu.add_command(label="Save as...", command=donothing)
filemenu.add_command(label="Close", command=donothing)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

editmenu=Menu(menubar,tearoff=0)
editmenu.add_command(label="Undo", command=donothing)
editmenu.add_command(label="Copy", command=donothing)
editmenu.add_command(label="Paste", command=donothing)
menubar.add_cascade(label="Edit", menu=editmenu)

helpmenu=Menu(menubar,tearoff=0)
helpmenu.add_command(label="Help",command=donothing)
menubar.add_cascade(label="Help",menu=helpmenu)

root.config(menu=menubar)
root.mainloop()  
Run Code Online (Sandbox Code Playgroud)

python tkinter

13
推荐指数
1
解决办法
6万
查看次数

括号 - 实时预览不起作用

我发现这个很棒的程序(html编辑器)叫做Brackets,而且是Adobe的.现在我得到编辑器的原因是因为我想要实时预览PHP代码,但我后来发现我需要一个Wamp服务器.

现在,我有兴趣制作一个关于页面,但我无法预览.实时预览基本网址为空,当我尝试预览时,我得到:> http://puu.sh/aDkET/4209ec1192.png <并且闪电是半橙色(我听说它需要是红色的工作).我已经尝试了很多...输入实时预览基本URL到http(分号)// localhost:(insertporthere)/ < - Wamp Server,只尝试了localhost,把它留空,我不知道怎么做这个工作..我卡住了,我基本上需要真正的预览..

拜托,请帮帮我!D:我在网上寻找解决方案,但没有.如果可以,一步一步的教程将非常感谢:)

亲切的问候, - PiguFilms

html css editor real-time adobe-brackets

13
推荐指数
2
解决办法
6万
查看次数

错误:打开Robot Framework日志失败

如果我打开由Robot Framework生成的任何.html文件,并尝试使用任何可用的任何python代码或内置命令行工具将其转换为任何其他格式(例如,docx formate).我收到以下错误,

  1. 打开机器人框架日志失败

•确认您的浏览器已启用JavaScript.

•确保使用足够现代的浏览器.需要Firefox 3.5,IE 8或同等版本,建议使用较新的浏览器.

•检查浏览器的JavaScript错误日志中是否有消息.如果您怀疑遇到错误,请报告问题.

·即使我已经在浏览器中启用了JavaScript,我也收到此错误.我在Mac上使用Mozilla Firefox版本45.0.2.

有谁可以帮我解决这个问题?

javascript python robotframework

13
推荐指数
4
解决办法
2万
查看次数

如何在盐状态中重启?

(这是我在盐用户组FWIW上提出的问题的副本)

我需要编写一个状态来安装一些Windows服务器功能,重新启动minion,然后再安装一些软件.似乎所有的部分都在那里(cmd.wait,system.reboot),但我无法连接点.

例如,我有一个"webserver"状态,应该在一台机器上安装IIS.它需要启用一些服务器功能,重启(因为Windows),然后继续.我们使用名为"website"的自定义模块执行此操作,该模块允许我安装网站,另一个模块用于安装应用程序池.我们的状态文件看起来像这样:

my_website:
  website.installed:
    - name: example.com 
    - version: alpha-1.0.0
        - type: Website
        - bindings:
           - hostheader: localhost
           - port: 1234
        - installdir: c:\\wwwroot\\example.com
        - apppool: static
    - require:
          - sls: serverstate.webserver
          - sls: apppool.static
Run Code Online (Sandbox Code Playgroud)

除了我们需要在"serverstate.webserver"和"apppool.static"要求之间重新启动之外,上述工作非常好.目前,状态失败,我们手动重启,然后重新运行状态,它的工作原理.当然,我们想省略手动重启步骤.

是否有解决此类问题的常见模式?

salt-stack

12
推荐指数
1
解决办法
6028
查看次数

如何以编程方式创建django ViewFlow进程

概要

我正在开发一个学习Django的Web应用程序(python 3.4和Django 1.6.10).Web应用程序具有复杂且经常更新的工作流程.我决定集成Django-Viewflow库(https://github.com/viewflow/viewflow/),因为它似乎是处理工作流程的一种非常方便的方式,而不是将工作流逻辑与应用程序模型结合在一起.

在这种情况下,我创建了一个工作流程,使用Django-Viewflow库收集作者信息和版权.每次将作者添加到书籍时都应启动工作流程.

我的问题

该文档提供了逐步指导,以集成端到端的工作流解决方案(前端和后端).我的问题是我很难以编程方式控制工作流程(特别是从Book模型).

申请说明

我有一个Book模型(核心模型),与作者有很多关系.

对myApp/models.py

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

工作流程组件是:

myFlow/models.py

from viewflow.models import Process

class AuthorInvitation(process)     
    consent_confirmed = models.BooleanField(default=False)
    signature = models.CharField(max_length=150) 
Run Code Online (Sandbox Code Playgroud)

myFlow/flows.py

from viewflow import flow
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.views import StartProcessView, ProcessView
from . import models, tasks

class AuthorInvitationFlow(Flow):
    process_cls = models.AuthorInvitation

    start = flow.Start(StartProcessView) \
        .Permission(auto_create=True) \
        .Next(this.notify)

    notify = celery.Job(tasks.send_authorship_request) \ …
Run Code Online (Sandbox Code Playgroud)

python django workflow django-viewflow

12
推荐指数
1
解决办法
4307
查看次数