将输入和输出从空闲shell重定向到新的PyQt GUI

2024-04-24 20:33:13 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,所以我是新来的,一直在学习,我正在尝试为我的代码建立一个GUI。我的代码在pythonidle shell中运行得很好,到目前为止,在我创建的GUI中运行得非常好。我还没学会 如何多线程进程,我想多线程我的所有功能和重定向输出和输入从闲置的壳牌到我的图形用户界面的三个文本框。到目前为止,我正在按我的按钮,它们按预期工作, 按下一个按钮后的所有输入和输出都在空闲shell中,我的下一步是将输入和输出输入到GUI中的文本框中,以便完成从空闲shell到GUI的迁移,从而实现GUI 当然可以独立于空闲shell。三个文本框包括,1。对于文本输入,2.用于列出结果。和3。用于主动显示我的更新功能。我是一个文件搜索程序 方法,通过索引,它在shell中运行良好,我正在迁移到我的GUI。在shell中,当我更新文本文件时, 代码在目录中运行,列出系统上所有文本文件的列表,并将它们保存在一个文件中,它还对视频、音频、可执行文件和图像文件执行此操作。执行更新时,使用 特定更新的适当文件扩展名会实时显示在空闲shell中,在空闲shell中流下的速度非常快,希望这是文本框3的作业,这些结果将显示在 文本框3显示,用于反馈。文本框1是用户输入,要搜索的文件名,在空闲shell中,输入的名称将在我的更新功能生成的列表中搜索,而不是 每次扫描系统。结果/(s)然后显示在shell中,这是完美的,如果用户愿意,可以通过将找到的路径+文件名附加到相应的模块来打开/播放/执行。这个 带我到文本框2,在shell中,搜索的文件结果显示在那里,希望现在可以将它们迁移到文本框2,从现在起,搜索结果将显示在这里。 我想问一些例子,我的案例如何实现从shell到GUI的迁移。我将按原样发布我的代码,也许有更多经验的人可以提供一些关于如何重新连接的例子。 提前谢谢你的帮助,本杰明


Tags: 文件代码用户功能列表文件名系统gui
1条回答
网友
1楼 · 发布于 2024-04-24 20:33:13

当用户使用IDLE运行代码时,输出发送到stdout,或者系统标准输出写入或print(),文件保留为系统标准输出,出现在IDLE的Shell的tk(inter)文本小部件中,因为IDLE替换了默认值系统标准输出对象,其中包含一个向文本小部件发送字符串的对象。由于这通常涉及进程间通信,所以代码可能不必对您使用。在

可能有以下帮助:findinfiles(grep)将找到的行放入OutputWindow中,write方法接受字符串并返回写入的字符数。这是3.x版本。在

def write(self, s, tags=(), mark="insert"):
    if isinstance(s, (bytes, bytes)):  # convert to string if necessary
        s = s.decode(IOBinding.encoding, "replace")
    self.text.insert(mark, s, tags)  # insert into widget
    self.text.see(mark)  # make insertion visible
    self.text.update()  # update widget
    return len(s)  # return # chars written

我想您可以为(py)qt的文本小部件重写这个。另一种方法是直接使用小部件方法。在

相关问题 更多 >