小编use*_*953的帖子

你如何在Magit刷新遥控器?

Magit非常好,但我还没弄明白如何从中创建一个远程分支,或者如何刷新它知道的远程分支而不删除远程并重新添加它.目前我去github,添加一个分支,然后进入magit,删除遥控器,然后将其添加回来.有没有更好的办法?

emacs github magit

9
推荐指数
1
解决办法
2304
查看次数

从 python3 中的 multiprocess.proccess 更新 tk ProgressBar

我已经成功创建了一个线程的线程示例,该线程可以在运行时更新 Progressbar。然而,到目前为止,我还没有用多处理做同样的事情。我开始怀疑是否可以以这种方式使用 tkinter。有没有人做过这个?

我在 OS X 10.7 上运行。我环顾四周知道不同的操作系统可能表现得非常不同,尤其是多处理和 tkinter。

我尝试了一个生产者,它通过命名空间和 event.wait 以及 event.set 直接与小部件对话。我已经做了同样的事情,生产者与消费者交谈,消费者是与小部件交谈的方法或函数。所有这些都成功运行,但不会在视觉上更新小部件。虽然我在 IntVar 上做了一个 get() 小部件绑定到并看到它改变,无论是在使用 widget.step() 和/或 widget.set() 时。我什至尝试在子进程中运行一个单独的 tk() 实例。没有任何更新进度条。

这是较简单的版本之一。子进程是一个对象上的方法,该对象是 Progressbar 小部件的包装器。tk GUI 作为主进程运行。我还发现小部件在循环结束时没有被销毁有点奇怪,这可能是我不理解其含义的线索。

import multiprocessing
from tkinter import *
from tkinter import ttk
import time

root = Tk()

class main_window:

    def __init__(self):
        self.dialog_count = 0

        self.parent = root
        self.parent.title('multiprocessing progess bar')

        frame = ttk.Labelframe(self.parent)
        frame.pack(pady=10, padx=10)

        btn = ttk.Button(frame, text="Cancel")
        btn.bind("<Button-1>", self.cancel)
        btn.grid(row=0, column=1, pady=10)

        btn = ttk.Button(frame, text="progress_bar")
        btn.bind("<Button-1>", self.pbar)
        btn.grid(row=0, column=2, pady=10) …
Run Code Online (Sandbox Code Playgroud)

multithreading tkinter multiprocessing python-3.x progress-bar

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