Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从命令行在Python中显示图像并提示输入短字符串_Python_Image_Ubuntu_Graphics_User Input - Fatal编程技术网

如何从命令行在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编写以下代码最简单、最直接的方法是什么?少线=多幸福

  • 按文件名抓取JPEG图片
  • 显示它的缩略图
  • 在缩略图下方显示一个文本字段,以便用户可以键入标题
  • 等待用户点击键盘上的ENTER键。在这种情况下,关闭并返回输入
  • …或等待用户点击删除键。在这种情况下,关闭并返回有关决定的信息(删除图片)

  • 依赖项或仅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代码应该返回一些东西。