使用 C++,如何在 Qt Designer 中 运行 一个 python 文件?
Using C++, how can I run a python file in Qt Designer?
我终于决定从 WxPython 过渡到 QT!我正在使用 Qt Designer5.9,但在放置新插槽时遇到问题。我的目标是在 GUI 上按 button
并获得我在另一个 python 程序中编写的函数 运行。
在 Qt Designer 中,我“go to slot
”,select clicked()
出现了。
mainwindow.cpp
void MainWindow::on_pushButton_2_clicked()
{
}
这正是我想要的,但是语言错误!我的 python 已经够糟了,更不用说其他了。所以通过 运行ning this tutorial 我知道如果我通过 ui->textEdit->append(("Hello World"));
我可以做一些自定义的事情,但是在使用 pyuic[=31 转换之后=] 转换为 .py 它是如何实现的并不明显。我的函数很容易导入如下图,我只需要知道放在哪里就可以了。
import myfunction
myfunction()
任何人都可以给我一个例子,说明需要在 Qt Designer 中用 C++ 编写什么,以便我可以在 .ui 转换后调用我的 python 函数吗??
我不知道你为什么需要C++,你可以在python中做你想做的事。在 QT Designer 中设计您的 UI。我喜欢避免使用 pyuic,我更喜欢使用以下方式,也许你会发现它更好。假设您的 UI 文件名为 something.ui,并且您在 QT Designer 中将按钮命名为 pushButton_2,那么 python 中的代码将是:
from PyQt4 import QtCore, QtGui, uic
Ui_somewindow, _ = uic.loadUiType("something.ui") #the path to your UI
class SomeWindow(QtGui.QMainWindow, Ui_somewindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_somewindow.__init__(self)
self.setupUi(self)
self.pushButton_2.clicked.connect(self.yourFunction)
def yourFunction(self):
#the function you imported or anything you want to happen when the button is clicked.
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = SomeWindow()
window.show()
sys.exit(app.exec_())
希望对您有所帮助!
我终于决定从 WxPython 过渡到 QT!我正在使用 Qt Designer5.9,但在放置新插槽时遇到问题。我的目标是在 GUI 上按 button
并获得我在另一个 python 程序中编写的函数 运行。
在 Qt Designer 中,我“go to slot
”,select clicked()
出现了。
mainwindow.cpp
void MainWindow::on_pushButton_2_clicked()
{
}
这正是我想要的,但是语言错误!我的 python 已经够糟了,更不用说其他了。所以通过 运行ning this tutorial 我知道如果我通过 ui->textEdit->append(("Hello World"));
我可以做一些自定义的事情,但是在使用 pyuic[=31 转换之后=] 转换为 .py 它是如何实现的并不明显。我的函数很容易导入如下图,我只需要知道放在哪里就可以了。
import myfunction
myfunction()
任何人都可以给我一个例子,说明需要在 Qt Designer 中用 C++ 编写什么,以便我可以在 .ui 转换后调用我的 python 函数吗??
我不知道你为什么需要C++,你可以在python中做你想做的事。在 QT Designer 中设计您的 UI。我喜欢避免使用 pyuic,我更喜欢使用以下方式,也许你会发现它更好。假设您的 UI 文件名为 something.ui,并且您在 QT Designer 中将按钮命名为 pushButton_2,那么 python 中的代码将是:
from PyQt4 import QtCore, QtGui, uic
Ui_somewindow, _ = uic.loadUiType("something.ui") #the path to your UI
class SomeWindow(QtGui.QMainWindow, Ui_somewindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_somewindow.__init__(self)
self.setupUi(self)
self.pushButton_2.clicked.connect(self.yourFunction)
def yourFunction(self):
#the function you imported or anything you want to happen when the button is clicked.
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = SomeWindow()
window.show()
sys.exit(app.exec_())
希望对您有所帮助!