我使用glade作为我的gui并创建一个进程来运行我的gui。单击此应用程序将打开套接字。当我按下'send'时,它将把textfield中的任何内容发送到套接字。套接字接收这些数据并将其发回。问题是在我把数据发送到套接字之后,线程没有终止。在我关闭图形用户界面后,它还调用系统出口()但也会离开进程并且不会终止。我认为错误在于我如何实现我的流程或我的所有流程。有人能照一下这个吗?这也与我上一篇文章有关。谢谢

在主.py在

//为我的gui创建新进程并显示它的主线程import socket, thread, gtk, Handler, sys, os, multiprocessing

sys.setrecursionlimit(10000)

if __name__ == '__main__':

builder = gtk.Builder()

#32bit template.glade 64bit template-2.22

# @todo add switching between architectures

#

builder.add_from_file("template/template-2.22.glade")

builder.connect_signals(Handler.Handler(builder))

window = builder.get_object("window1")

window.show_all()

try:

p = multiprocessing.Process(target=gtk.main())

p.start()

except:

print "Error Starting new Thread"

在处理程序.py在

//gtk glade信号的处理程序,创建新线程和句柄按钮等

^{pr2}$

在服务器.py在

//打开一个套接字,监听传入的数据并发送回import socket,multiprocessing, gtk, sys

class Server:

'''

classdocs

'''

def __init__(self):

'''

Constructor

'''

def run(self):

try:

while 1:

HOST = 'localhost' # Symbolic name meaning the local host

PORT = 50006 # Arbitrary non-privileged port

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

s.bind((HOST, PORT))

s.listen(5)

conn, addr = s.accept()

print 'Connected by', addr

while True:

data = conn.recv(1024)

if not data:

conn.close()

sys.exit()

break

elif data != '':

conn.sendall(data)

break

print "Closing"

#conn.close()

finally:

print "End"

pass

在客户端.py在

//将文本区域内的内容发送到套接字import time

class MyClass:

'''

classdocs

'''

def __init__(self):

'''

Constructor

'''

def run(self,text):

try:

import socket

HOST = 'localhost' # The localhost

PORT = 50006 # The same port as used by the server

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((HOST, PORT))

s.send(text)

data = s.recv(1024)

while 1:

if data != '':

print 'Received', repr(data)

break

finally:

pass

python多进程控制gui界面_Python优雅地终止了多进程和gui进程相关推荐

  1. python加密解密图形界面_Python笔记-GUI界面设计(tkinter)

    前言 此篇文章介绍的是有关GUI(Graphical User Interface)图形用户界面的设计. 使用到的库是tkinter,tkinter库在python3版本开始就是自带的库,IDLE就是 ...

  2. python开发串口通信界面_python串口编程实例

    Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其 ...

  3. python怎么控制while循环_Python流程控制之while循环怎么学呢?老男孩Python

    学习Python流程控制if条件语句之后,利用if ... else来猜年龄,但是只能猜一次就中的机率太小了,如果想给玩家3或者几次机会怎么办呢?总不能把代码复制3次吧,以后要修改功能还得修改3次.那 ...

  4. python如何控制鼠标键盘_Python如何控制鼠标键盘

    Python如何控制鼠标键盘 发布时间:2020-12-15 09:14:59 来源:亿速云 阅读:88 作者:小新 这篇文章将为大家详细讲解有关Python如何控制鼠标键盘,小编觉得挺实用的,因此分 ...

  5. python发牌游戏图形界面_python实现扑克牌交互式界面发牌程序

    本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下 注:图片自行在网上下载.替换即可 #coding=utf-8 class Card(): #扑克牌类 ...

  6. matlab中gui界面如何保存为图片,如何保存MATLAB GUI界面中的图片

    如何保存MATLAB GUI界面中的图片 代码来源自网络,作者未知,侵删. 原生支持png,bmp,jpg格式.另外自行添加了清晰度比较高的eps格式(荐). 新建一个按钮,按钮的代码如下. 其中第二 ...

  7. python炫酷gui界面_python+tkinter+动画图片+爬虫(查询天气)的GUI图形界面设计

    importtimeimport urllib.request #发送网络请求,获取数据 import gzip #压缩和解压缩模块 import json #解析获得的数据 from tkinter ...

  8. python的gui界面 可视化_使用可视化设计窗体的GUI程序

    示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...

  9. python实现监控数据界面_python 监控界面

    MySQL MTOP - 开源 MySQL 企业监控系统 MySQLMTOP是一个由Python+PHP开发的MySQL企业级监控系统.系统由Python实现多进程数据采集和告警,PHP实现WEB展示 ...

最新文章

  1. line_profile逐行代码分析
  2. 算法炒房三月亏20多亿。房地产巨头大翻车:房价水太深,AI根本把握不住
  3. R语言画图功能到底有多厉害,看看就知道了
  4. 多目标跟踪2021总结
  5. hadoop,hbase,hive安装全记录
  6. java处理oom_java处理OOM和SOF
  7. 常见RAID的各级别的特性简介(RAID0、1、5、6、10)
  8. 【sklearn学习】逻辑回归
  9. java 验证码透明背景_Java中的证书透明度验证
  10. 【OpenCV函数】轮廓提取;轮廓绘制;轮廓面积;外接矩形
  11. ggplot2绘图点的形状不够用怎么办?
  12. 联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!
  13. 使用 FOR XML语句 将查询结构作为XML格式返回【转】
  14. linux下pwd命令学习
  15. python怎么批量下载图片_批量下载网页图片(python)
  16. html5虚拟摇杆,关于前端:babylonjs-第三方-nipplejs虚拟摇杆
  17. Android MMKV框架引入使用
  18. 深度学习笔记(二十)Momentum动量梯度下降及RSMprop Adam优化算法
  19. 手机开机启动慢是什么原因_手机开机的速度太慢怎么办
  20. 国税总局增值税发票查验平台验证码识别深度学习实战

热门文章

  1. 在执行 php artisan key:generate ,报 Could not open input file: artisan 错误
  2. shiro 与spring的集成
  3. 解决dpdk中出现IOMMU not found的问题
  4. faster rcnn一些博客
  5. bootstrap 学习 ---css样式学习
  6. python consul
  7. activiti驳回、沟通、转办的解决方法
  8. 一种PLC RS485 Modbus RTU无线联网的解决方案
  9. PHP no input file specified 三种解决方法
  10. 亲临ACM MM大会现场,围观各路技术高手参会心得