我正在尝试使用设计器在 Linux 中设置一个应用程序,PyQt4
并且我正在努力将信号和插槽连接到它。现在我想做的就是将一个按钮clicked
信号连接到一个自定义插槽,saveEnergyScheme
它只是将“能量列表”打印到终端。
我已经将我的应用程序的 .ui 代码翻译成带有 .ui 的 python 类pyuic4 -w sumcorr.ui > sumcorr_ui.py
。这在sumcorr_ui.py
模块中创建了一个名为SumCorr_ui
:
class SumCorr_ui(QtGui.QMainWindow, Ui_SumCorr_ui):
def __init__(self, parent=None, f=QtCore.Qt.WindowFlags()):
QtGui.QMainWindow.__init__(self, parent, f)
self.setupUi(self)
然后,我将我的应用程序制作为自定义小部件,并尝试向按钮添加一个简单的信号槽连接以显示它的工作原理:
from PyQt4 import QtGui, QtCore
from sumcorr_ui import SumCorr_ui
class SumCorr(SumCorr_ui):
def __init__(self):
SumCorr_ui.__init__(self)
self.save_energies_button.clicked.connect(self.saveEnergyScheme)
def saveEnergyScheme(self):
print 'energyList'
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
mySumCorr = QtGui.QMainWindow()
ui = SumCorr()
ui.setupUi(mySumCorr)
mySumCorr.show()
sys.exit(app.exec_())
当我单击名为 的按钮时,我希望得到“能量列表”行save_energies_button
,但没有任何反应。这可能是因为我没有将 UI 构建为小部件,而是作为主窗口吗?为什么打印不出来??