如何从命令行在Python中显示图像并提示输入短字符串
(为了更清楚,我对整个问题进行了编辑)如何从命令行在Python中显示图像并提示输入短字符串,python,image,ubuntu,graphics,user-input,Python,Image,Ubuntu,Graphics,User Input,(为了更清楚,我对整个问题进行了编辑) 你好, 我从未与Python GUI库有过任何关系。我知道有大量的文档,但由于我只需要一个片段,我不喜欢深入到文档中去寻找一种方法。如果我要写一个GUI程序,我当然会这样做,但这只是我的特别脚本需要的几行代码 对于我(guinoob)来说,用Python编写以下代码最简单、最直接的方法是什么?少线=多幸福 按文件名抓取JPEG图片 显示它的缩略图 在缩略图下方显示一个文本字段,以便用户可以键入标题 等待用户点击键盘上的ENTER键。在这种情况下,关闭并返
你好, 我从未与Python GUI库有过任何关系。我知道有大量的文档,但由于我只需要一个片段,我不喜欢深入到文档中去寻找一种方法。如果我要写一个GUI程序,我当然会这样做,但这只是我的特别脚本需要的几行代码 对于我(guinoob)来说,用Python编写以下代码最简单、最直接的方法是什么?少线=多幸福
依赖项或仅Linux解决方案都可以。我需要在Xubuntu机器上运行这个。有代码片段吗?我相信对于精通Python GUI领域的人来说,这只需要5分钟的时间。我需要研究大量的图书馆文档。谢谢大家! Python有几个很好的GUI库。python内置的“标准”库是
tkinter
:。有人说,wxPython
功能更强大、更直观:
我想你可以从wxPython开始,他们有很多教程和示例,你可以深入了解(只需运行演示)
他们有一个叫做“ImageBrowser”的例子,这可能是一个很好的起点
关于不同应用程序之间的通信,您可以使用“管道”和“重定向”进行通信。但是,如果所有内容都是用python编写的,我认为这是错误的做法,您可以在python脚本中显示图像形式,并在内部获得结果。下面是一个基本的python脚本,它或多或少符合规范 它需要安装python2和pyqt4软件包,并且不能与python3一起使用(尽管在必要时可以很容易地进行调整) 如果用户键入有效的标题并按enter键,脚本将返回状态代码0并将标题打印到stdout;否则,如果用户输入无效的标题(仅为空或空白),或者只是关闭对话框而不执行任何操作,脚本将返回状态代码1,并且不打印任何内容 bash用法示例:
$CAPTION=$(python imgviewer.py image.jpg)
$[$?-eq 0]&&echo$标题
imgviewer.py:
导入系统,操作系统
从PyQt4导入QtGui、QtCore
类对话框(QtGui.QDialog):
定义初始化(自身,路径):
QtGui.QDialog.\uuuu init\uuuu(self)
self.viewer=QtGui.QLabel(self)
self.viewer.setMinimumSize(QtCore.QSize(400400))
self.viewer.setScaledContents(True)
self.viewer.setPixmap(QtGui.QPixmap(路径))
self.editor=QtGui.QLineEdit(self)
self.editor.returnPressed.connect(self.handleReturnPressed)
layout=QtGui.QVBoxLayout(self)
layout.addWidget(self.viewer)
layout.addWidget(self.editor)
def handleReturnPressed(自动)按钮:
如果self.editor.text().simplified().isEmpty():
self.reject()
其他:
self.accept()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app=QtGui.QApplication(sys.argv)
args=app.arguments()[1:]
如果len(args)==1:
dialog=dialog(参数[0])
如果dialog.exec_389;()==QtGui.QDialog.Accepted:
打印对话框.editor.text().simplified().toLocal8Bit().data()
系统出口(0)
其他:
打印“错误:参数数目错误”
系统出口(1)
照片的格式是什么?简单和最直接并不是一个很好的标准,GUI库和你对它们的理解一样简单和直接。你可以试试IPython的Qt控制台,我更新了这个问题。我非常清楚地说,我对任何GUI库的理解都是零,因此对于一个从未接触过GUI世界的优秀开发人员来说,这应该是简单明了的。也许我写了一些错误的东西(对不起,我的英语),但我提到的不同应用程序之间的通信是什么?我想到了一个单独的Python脚本。“给我的程序发送一个关于我希望删除图像的信息。”我还以为你想创建一个不同的程序来显示图像。所以你可以忽略最后一部分。啊,对不起。这在某种程度上意味着GUI代码应该返回一些东西。