【问题标题】:PyQt4 QLineEdit()PyQt4 QLineEdit()
【发布时间】:2014-01-07 01:51:40
【问题描述】:

我正在尝试制作一个简单的 GUI,我想在整个更大的程序中使用它,但我想做的是在表中使用 QlineEdit,一旦示例中的 QlineEdit 更改为任何内容我可以获取该更改并将该更改保存在一个列表中,以便稍后进行迭代。

from PyQt4 import QtCore, QtGui
import sys

app = QtGui.QApplication([])
table = QtGui.QTableWidget(6,2)

tableItem = QtGui.QLineEdit()
tableItem.setText( "Testing" )
table.setCellWidget(0, 1, tableItem )

因此,在示例中,我希望能够将“测试”更改为任何内容,并且一旦发生更改。我不知道如何获取我曾尝试使用 textChanged() 进行的更改,但无法让它发挥作用。

【问题讨论】:

    标签: python pyqt4


    【解决方案1】:
    from PyQt4 import QtCore, QtGui
    import sys
    
    app = QtGui.QApplication([])
    table = QtGui.QTableWidget(6,2)
    
    tableItem = QtGui.QLineEdit()
    tableItem.setText( "Testing" )
    
    def onTextChanged(text):
        print 'onTextChanged', text
        pass
    
    tableItem.textChanged.connect(onTextChanged)
    table.setCellWidget(0, 1, tableItem )
    table.show()
    app.exec_()
    

    顺便说一句,我认为最好使用qt设计器来安排GUI...

    【讨论】:

    • 这太棒了...无论如何我可以打印最终的“测试词”。就像使用 editfinished() 一样。我不太关心每一步的变化,只是最终的整体变化。
    • @Dumbkid_trying 最有效的方法是读取 qt 辅助,我发现信号 QLineEdit::editingFinished 这样做,它说:当返回或按下 Enter 键或行编辑失去焦点。
    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 2015-11-18
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多