我不明白为什么我在QT creator中创建的自定义槽不在转换后的python文件中。基本上,pyuic不考虑.cpp
文件。所做的任何更改都不会出现在后面的.py
文件中。你知道吗
例如,我的.cpp
文件显示了以下部分:
void MainWindow::on_pushButton_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this,
"Open xls File", ".", "xls files (*.xls)" );
if ( fileName.isEmpty() )
return;
QFile file( fileName );
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
}
但是python文件不调用这个类或.cpp
文件中的任何东西。你知道吗
我的python文件如下所示:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(486, 300)
self.centralWidget = QtWidgets.QWidget(MainWindow)
self.centralWidget.setObjectName("centralWidget")
self.radioButton = QtWidgets.QRadioButton(self.centralWidget)
self.radioButton.setGeometry(QtCore.QRect(10, 40, 100, 22))
self.radioButton.setChecked(True)
self.radioButton.setObjectName("radioButton")
self.radioButton_2 = QtWidgets.QRadioButton(self.centralWidget)
self.radioButton_2.setGeometry(QtCore.QRect(10, 90, 121, 22))
self.radioButton_2.setObjectName("radioButton_2")
self.pushButton = QtWidgets.QPushButton(self.centralWidget)
self.pushButton.setGeometry(QtCore.QRect(370, 90, 85, 27))
self.pushButton.setObjectName("pushButton")
self.lineEdit = QtWidgets.QLineEdit(self.centralWidget)
self.lineEdit.setGeometry(QtCore.QRect(130, 40, 211, 27))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit2 = QtWidgets.QLineEdit(self.centralWidget)
self.lineEdit2.setGeometry(QtCore.QRect(130, 90, 211, 27))
self.lineEdit2.setObjectName("lineEdit2")
self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget)
self.pushButton_2.setGeometry(QtCore.QRect(370, 200, 85, 27))
self.pushButton_2.setObjectName("pushButton_2")
self.plainTextEdit = QtWidgets.QPlainTextEdit(self.centralWidget)
self.plainTextEdit.setGeometry(QtCore.QRect(130, 130, 211, 91))
self.plainTextEdit.setObjectName("plainTextEdit")
self.label = QtWidgets.QLabel(self.centralWidget)
self.label.setGeometry(QtCore.QRect(370, 130, 91, 31))
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralWidget)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 486, 27))
self.menuBar.setObjectName("menuBar")
MainWindow.setMenuBar(self.menuBar)
self.mainToolBar = QtWidgets.QToolBar(MainWindow)
self.mainToolBar.setObjectName("mainToolBar")
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
MainWindow.insertToolBarBreak(self.mainToolBar)
self.statusBar = QtWidgets.QStatusBar(MainWindow)
self.statusBar.setObjectName("statusBar")
MainWindow.setStatusBar(self.statusBar)
self.retranslateUi(MainWindow)
self.radioButton.toggled['bool'].connect(self.lineEdit.setEnabled)
self.radioButton.toggled['bool'].connect(self.lineEdit2.setDisabled)
self.radioButton_2.toggled['bool'].connect(self.lineEdit.setDisabled)
self.radioButton_2.toggled['bool'].connect(self.lineEdit2.setEnabled)
self.radioButton.toggled['bool'].connect(self.pushButton.setDisabled)
self.radioButton_2.toggled['bool'].connect(self.pushButton.setEnabled)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.radioButton.setText(_translate("MainWindow", "Single SMS"))
self.radioButton_2.setText(_translate("MainWindow", "SMS to Contacts"))
self.pushButton.setText(_translate("MainWindow", "Add .xls"))
self.pushButton_2.setText(_translate("MainWindow", "Send it!"))
self.label.setText(_translate("MainWindow", "Message Text"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
有人知道解决办法吗?有没有办法将整个项目转换成python而不仅仅是.ui
文件?你知道吗
非常感谢
这太长了,无法发表评论:
没有办法“将整个项目翻译成python”。Qt设计器生成一个.UI文件,然后通过UIC通过PUIC或C++文件转换成.pY文件。然后,你必须编写相应的“逻辑”代码来实例化UI文件,就像你(或某人)在C++中那样做;你必须在Python中做同样的操作。你知道吗
但是,将C++逻辑文件手动翻译为Python通常相对简单,对于90%的代码,最后10%可能是一个主要的头痛:它确实取决于C++所做的。你知道吗
试一试,如果你遇到任何问题,我建议你修改你的问题,专门问那些问题。否则,您应该删除此问题。你知道吗
相关问题 更多 >
编程相关推荐