zoukankan      html  css  js  c++  java
  • 读Pyqt4教程,带你入门Pyqt4 _009

    QLineEdit

    QLineEdit 窗口组件用来输入或者编辑单行纯文本,有撤销/重做,剪切/粘贴和拖放功能。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    # ZetCode PyQt4 tutorial
    #
    # This example shows text which
    # is entered in a QLineEdit
    # in a QLabel widget.
    #
    # author: Jan Bodnar
    # website: zetcode.com
    # last edited: December 2010
    
    
    
    from PyQt4 import QtGui
    from PyQt4 import QtCore
    
    
    class Example(QtGui.QWidget):
        def __init__(self, parent=None):
            QtGui.QWidget.__init__(self, parent)
    
            self.initUI()
    
    
        def initUI(self):
    
            self.label = QtGui.QLabel(self)
            edit = QtGui.QLineEdit(self)
    
            edit.move(60, 100)
            self.label.move(60, 40)
    
            self.connect(edit, QtCore.SIGNAL('textChanged(QString)'),
                self.onChanged)
    
            self.setWindowTitle('QLineEdit')
            self.setGeometry(250, 200, 350, 250)
    
    
        def onChanged(self, text):
            self.label.setText(text)
            self.label.adjustSize()
    
    
    def main():
    
        app = QtGui.QApplication([])
        exm = Example()
        exm.show()
        app.exec_()
    
    
    if __name__ == '__main__':
        main()

    该例子现在一个单行编辑器和一个标签。在单行编辑器中键入的文字会立即显示在标签中。

    edit = QtGui.QLineEdit(self)

    创建 QLineEdit

    self.connect(edit, QtCore.SIGNAL('textChanged(QString)'),
        self.onChanged)

    如果单行编辑器中的文本发生变化,调用 onChanged() 方法。

    def onChanged(self, text):
        self.label.setText(text)
        self.label.adjustSize()

    onChanged() 方法中,我们把输入的文字设置到标签中。并调用 adjustSize() 方法调整标签的尺寸为文本的长度。

    QSplitter

    QSplitter 使得用户可以通过拖动子窗口组件的边界来控制子窗口组件的尺寸。在我们的例子中,我们显示由两个分离器组织的三个 QFrame 窗口组件。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    # ZetCode PyQt4 tutorial
    #
    # This example shows
    # how to use QSplitter widget.
    #
    # author: Jan Bodnar
    # website: zetcode.com
    # last edited: December 2010
    
    
    from PyQt4 import QtGui, QtCore
    
    
    class Example(QtGui.QWidget):
    
        def __init__(self):
            super(Example, self).__init__()
    
            self.initUI()
    
    
        def initUI(self):
    
            hbox = QtGui.QHBoxLayout(self)
    
            topleft = QtGui.QFrame(self)
            topleft.setFrameShape(QtGui.QFrame.StyledPanel)
    
            topright = QtGui.QFrame(self)
            topright.setFrameShape(QtGui.QFrame.StyledPanel)
    
            bottom = QtGui.QFrame(self)
            bottom.setFrameShape(QtGui.QFrame.StyledPanel)
    
            splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)
            splitter1.addWidget(topleft)
            splitter1.addWidget(topright)
    
            splitter2 = QtGui.QSplitter(QtCore.Qt.Vertical)
            splitter2.addWidget(splitter1)
            splitter2.addWidget(bottom)
    
            hbox.addWidget(splitter2)
            self.setLayout(hbox)
    
            self.setWindowTitle('QSplitter')
            QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Cleanlooks'))
            self.setGeometry(250, 200, 350, 250)
    
    
    def main():
    
        app = QtGui.QApplication([])
        ex = Example()
        ex.show()
        app.exec_()
    
    
    if __name__ == '__main__':
        main()

    例子中有三个框架窗口组件和两个分离器。

    topleft = QtGui.QFrame(self)
    topleft.setFrameShape(QtGui.QFrame.StyledPanel)

    为了看到 QFrame 之间的边界,我们使用带样式的框架。

    QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Cleanlooks'))

    使用 Cleanlooks 样式。 在某些样式中,框架是不可见的。

    QComboBox

    QComboBox 窗口组件允许用户从列表清单中选择。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    # ZetCode PyQt4 tutorial
    #
    # In this example, we show how to
    # use the QComboBox widget.
    #
    # author: Jan Bodnar
    # website: zetcode.com
    # last edited: December 2010
    
    
    from PyQt4 import QtGui, QtCore
    
    
    class Example(QtGui.QWidget):
    
        def __init__(self):
            super(Example, self).__init__()
    
            self.initUI()
    
    
        def initUI(self):
    
            self.label = QtGui.QLabel("Ubuntu", self)
    
            combo = QtGui.QComboBox(self)
            combo.addItem("Ubuntu")
            combo.addItem("Mandriva")
            combo.addItem("Fedora")
            combo.addItem("Red Hat")
            combo.addItem("Gentoo")
    
            combo.move(50, 50)
            self.label.move(50, 150)
    
            self.connect(combo, QtCore.SIGNAL('activated(QString)'),
                self.onActivated)
    
            self.setGeometry(250, 200, 350, 250)
            self.setWindowTitle('QComboBox')
    
        def onActivated(self, text):
    
            self.label.setText(text)
            self.label.adjustSize()
    
    
    def main():
    
        app = QtGui.QApplication([])
        ex = Example()
        ex.show()
        app.exec_()
    
    
    if __name__ == '__main__':
        main()

    这个例子中显示一个 QComboBox 和一个 QLabel 。组合框有5个选项的列表,他们是Linux发行版的名称。标签显示从组合框选择的内容。

    combo = QtGui.QComboBox(self)
    combo.addItem("Ubuntu")
    combo.addItem("Mandriva")
    combo.addItem("Fedora")
    combo.addItem("Red Hat")
    combo.addItem("Gentoo")

    创建一个 QComboBox 窗口组件并增加5个选项。

    self.connect(combo, QtCore.SIGNAL('activated(QString)'),
        self.onActivated)

    当一个选项被选择,我们调用 onActivated() 方法。

    def onActivated(self, text):
    
        self.label.setText(text)
        self.label.adjustSize()

    在该方法中,我们把选择项设置到标签中,并调整标签的尺寸。

    在PyQt4教程的这部分中,我们涵盖了其他4个PyQt4窗口组件。

     

     

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4578935.html

     

     

  • 相关阅读:
    Word 2007 测试
    全硬盘安装Win Vista 6000 RTM方法(转)
    Javascript 解析,格式化日期 (转)
    转:使用hgfs实现vmare文件传输一法,无需任何网络相关设置
    配置和运行版本验证测试(转自msdn)
    TFS错误一则(資料集 'IterationParam' 的查詢執行失敗)
    ghostdoc 1.9.5 for vista install
    January 2007 Community Technology Preview 1 安装
    Changing to a friendly Team Foundation Server Name (舶来品)
    命令行使用小结
  • 原文地址:https://www.cnblogs.com/superdo/p/4578935.html
Copyright © 2011-2022 走看看