感谢下面的帖子(Python Qt: How to catch "return" in qtablewidget),我找到了如何子类QTableWidget
来连接ENTER键事件。我的问题是,从这个子类中,我无法找到访问所有其他小部件的方法。在
这是我所做的。在
使用QtDesigner,我用QTableWidget
和TextField
构建了这个简单的接口。我把QTableWidget
提升为我自己的MyTableWidget
(来自上面的帖子)。在
主要代码如下:
import sys
from PyQt4 import QtGui, QtCore, Qt
from my_interface import Ui_MainWindow
class AppTemplateMain(QtGui.QMainWindow):
variable1 = 'my variable 1'
#initialize app
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
myapp = AppTemplateMain()
myapp.show()
exit_code=app.exec_()
sys.exit(exit_code)
并且QTableWidget
的子类在它自己的文件中定义mytablewidget.py
当我在表中单击时,我如期得到消息“clicked enter”按预期打印。但是我想从这个子类访问GUI的其他小部件。。。。以及在AppTemplateMain
中定义的variable1
。在
我觉得我错过了一些显而易见的东西,但我不知道是什么。有人能帮我吗。在
非常感谢。在
谢谢特莫罗
我刚刚找到了方法,就在这里(以防其他人和我一样对pyqt感到失望)
在mytablewidget.py rom PyQt4导入QtGui 从PyQt4.QtCore导入Qt
类MyTableWidget(qtablegui.qtablegui)公司名称:
在里面呢主.py在
导入系统 从PyQt4导入QtGui,QtCore,Qt 从我的接口导入Ui主窗口
^{pr2}$您可以在表中创建一个自定义信号,您可以随时发出该信号。使用new style signal and slots:
在主代码中,连接到以下信号:
^{pr2}$您不能直接连接到
keyPressEvent
,因为正如其名称中所述,它是一个事件,而不是信号。在相关问题 更多 >
编程相关推荐