Python中文
首页
教程
问答
标签
搜索
登录
注册
Tkinter和通过管道发送StringVar
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我最近开始玩进程。为了尝试一些东西,我编写了一个非常简单的GUI,并考虑了以下内容:</p> <ul> <li>有一个标签和一个按钮</li> <li>进程将检查按钮是否被单击,然后相应地编辑标签。你知道吗</li> </ul> <p>为此,我尝试通过管道将StringVar发送到另一个进程,对其进行编辑,然后将其发回。相关代码如下:</p> <pre><code>def changeText(pipe1, pipe2, str): while 1: if pipe1[1].recv() == "a": print("received") str.set("clicked") pipe2[0].send(str) else: pass def buttonClicked(pipe): pipe[0].send("a") txt2go = tk.StringVar(master=root, value="not clicked") btn1 = tk.Button(text = "go", command = lambda : buttonClicked(pipe1)) btn1.place(x=50, y=80) proses1 = mp.Process(target=changeText, args=(pipe1, pipe2, txt2go)) proses1.start() </code></pre> <p>但是,程序会给出以下输出(甚至在我尝试接收StringVar之前):</p> <pre><code>Process Process-1: received Traceback (most recent call last): File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in _bootstrap self.run() File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run self._target(*self._args, **self._kwargs) File "/home/cetin/PycharmProjects/Process_deneme_PC /Process_deneme_pc.py", line 9, in changeText pipe2[0].send(str) File "/usr/lib/python3.5/multiprocessing/connection.py", line 206, in send self._send_bytes(ForkingPickler.dumps(obj)) File "/usr/lib/python3.5/multiprocessing/reduction.py", line 50, in dumps cls(buf, protocol).dump(obj) _pickle.PicklingError: Can't pickle <class '_tkinter.tkapp'>: attribute lookup tkapp on _tkinter failed </code></pre> <p>这是什么意思,你能提出一些解决办法吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不能将tkinter对象传递给其他进程。在<code>StringVar</code>的情况下,只能发送管道中变量的值(例如:<code>txt2go.get()</code>),而不能发送变量本身(例如:<code>txt2go</code>)。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Python中两个字典的交集
10 回答
python中两个字符串上的异或操作数?
8 回答
Python中两个字符串中的类似句子
2 回答
Python中两个字符串之间的Hamming距离
8 回答
python中两个字符串之间的匹配模式
7 回答
python中两个字符串之间的按位或
1 回答
python中两个字符串之间的数据(字节)切片
7 回答
python中两个字符串之间的模式
2 回答
python中两个字符串作为子字符串的区别
10 回答
Python中两个字符串元组的比较
4 回答
Python中两个字符串列表中的公共字符串
10 回答
python中两个字符串的Anagram测试
6 回答
Python中两个字符串的正则匹配
1 回答
python中两个字符串的笛卡尔乘积
4 回答
Python中两个字符串相似性的比较
1 回答
python中两个字符串语义相似度的求法
7 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
3 回答
Python中两个对数方程之间的插值和平滑数据
5 回答
Python中两个对象之间的And/Or运算符
8 回答
python中两个嵌套字典中相似键的和值
9 回答