注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

哈欠涟涟的博客

学习python、pyqt与django

 
 
 

日志

 
 

pyqt中QLineEdit控件中使用回车将焦点下移  

2010-06-24 22:22:42|  分类: PyQt |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import * 

####################################################################
def main():
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_()) 

####################################################################
class MyWindow(QWidget):
    def __init__(self, *args):
        QWidget.__init__(self, *args)

        # create objects
        self.la = QLabel("Press return in this box:")
        self.le = MyLineEdit()
        self.la2 = QLabel("\nLook here:")
        self.le2 = QLineEdit()

        # layout
        layout = QVBoxLayout()
        layout.addWidget(self.la)
        layout.addWidget(self.le)
        layout.addWidget(self.la2)
        layout.addWidget(self.le2)
        self.setLayout(layout)

        # connections
        self.connect(self.le, SIGNAL("returnPressed"),
                     self.update)

    def update(self):
        #newtext = str(self.le2.text()) + "return pressed "
        #self.le2.setText(newtext)
        self.focusNextPrevChild(True)

####################################################################
class MyLineEdit(QLineEdit):
    def __init__(self, *args):
        QLineEdit.__init__(self, *args)

    def event(self, event):
        if (event.type()==QEvent.KeyPress) and (event.key()==Qt.Key_Return):
            self.emit(SIGNAL("returnPressed"))
            return True

        return QLineEdit.event(self, event)

####################################################################
if __name__ == "__main__":
    main()

说明:
为了捕获回车键,子类化QLineEdit,自定义event,当按下回车键时,激发signal returnPressed.
真正起到把焦点下移的是focusNextPrevChild(True),这个函数参数是True时焦点下移,False时焦点上移
  评论这张
 
阅读(1310)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017