使用 pyqt4 创建运行 python 脚本的 GUI

Posted

技术标签:

【中文标题】使用 pyqt4 创建运行 python 脚本的 GUI【英文标题】:Use pyqt4 to create GUI that runs python script 【发布时间】:2016-12-13 23:34:12 【问题描述】:

我写了一个python脚本来操作数据,然后用下面的函数把它保存到一个excel文件中:

def saveData():
    table = pd.DataFrame(data)

    writer = pd.ExcelWriter('manipulatedData.xlsx')
    table.to_excel(writer, 'sheet 1')
    writer.save()

我还有以下超级基本/简约的 gui 窗口:

from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)

window = QtGui.QWidget()
window.setGeometry(500,500,500,500)
window.setWindowTitle("PyQt Test!")
window.setWindowIcon(QtGui.QIcon('pythonLogoSmall.png'))
window.show()

sys.exit(app.exec_())

我真正想知道的是:

1) 如何让我的 gui 用户选择操作数据文件的位置 + 名称?

2) 我如何添加一个“运行”按钮,该按钮启动我的 python 脚本并操作数据,然后将操作的数据保存到所需的位置。

【问题讨论】:

【参考方案1】:

PyQt4QLineEdit()QPushButton()

from PyQt4 import QtGui
import sys

# --- functions ---

def my_function(event=None):
    print 'Button clicked: event:', event
    print linetext.text()

    # run your code

# --- main ---

app = QtGui.QApplication(sys.argv)

window = QtGui.QWidget()

# add "layout manager"
vbox = QtGui.QVBoxLayout()
window.setLayout(vbox)

# add place for text
linetext = QtGui.QLineEdit(window)
vbox.addWidget(linetext)

# add button 
button = QtGui.QPushButton("Run", window)
vbox.addWidget(button)

# add function to button 
button.clicked.connect(my_function)

window.show()

sys.exit(app.exec_())

【讨论】:

以上是关于使用 pyqt4 创建运行 python 脚本的 GUI的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pip 在 Windows 上安装 PyQt4?

从命令提示符更新 Python 版本并将 PyQt4 转换为 PyQt5

在ubuntu服务中使用pyQT4运行python文件时无法连接到服务器

构建简单的终端 pyqt4 和 pyserial 如何更新文本浏览器

找不到满足 PyQt4 要求的版本(来自版本:)

PyQT4:从 Ui 获取现有 python 程序的文本