PyQt5学习笔记(十一):文本框与网格布局

作者: 链球选手 | 来源:发表于2016-05-15 10:02 被阅读2074次

    上一篇的笔记学习了网格布局,其中的每一个按钮对应到一个网格,其实我们的窗口部件可以占据多个网格,我们可以据此做一个类似文本输入的窗口。本文由 Cescfangs 译自 ZetCode pyqt5系列教程 并作适当修改。

    先上源代码:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QGridLayout, QTextEdit, QLineEdit
    
    
    class exp(QWidget):
    
        def __init__(self):
            super().__init__()
    
            self.initUI()
    
        def initUI(self):
    
            title = QLabel('Title')
            author = QLabel('Author')
            review = QLabel('Review')
    
            titleEdit = QLineEdit()
            authorEdit = QLineEdit()
            reviewEdit = QTextEdit()
    
            grid = QGridLayout()
            grid.setSpacing(10)
            grid.addWidget(title, 1, 0)
            grid.addWidget(titleEdit, 1, 1)
            grid.addWidget(author, 2, 0)
            grid.addWidget(authorEdit, 2, 1)
            grid.addWidget(review, 3, 0)
            grid.addWidget(reviewEdit, 3, 1, 5, 1)
    
            self.setGeometry(300, 300, 400, 400)
            self.setLayout(grid)
    
            self.setWindowTitle('review')
    
            self.show()
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        ex = exp()
        sys.exit(app.exec_())
    

    以上的代码创建了三个QLabel部件,两个QLineEdit部件和一个QTextEdit部件共六个部件,通过QGridLayout将这六个部件进行排列。

    grid = QGridLayout()
    grid.setSpacing(10)
    

    以上代码创建了一个网格布局,setSpacing(10)设置了网格间的距离为10。

    grid.addWidget(reviewEdit, 3, 1, 5, 1)
    

    之前的5个部件都是占据一个网格,现在reviewEdit占据了(3,1),(4,1),(5,1)共3个网格。

    文本框

    相关文章

      网友评论

      • 遗弃小屋:电脑里安装着PyQt5.41 for Python3.4,然后就没再学过,弱弱地问下,现在Python发展到哪个版本了
        链球选手:@遗弃小屋 稳定版是3.5.1
      • 金戈大王:QT居然可以用Python写
        链球选手:@金戈大王 确实,效率不见得有 native 的好,要说跨平台和开发速度现在前端语言做界面更流行 :pensive:
        金戈大王:@Cescfangs Qt现在好像用的人越来越少了。。。
        链球选手:@金戈大王 嘿嘿嘿,是的 :wink:
      • 妤和:字好少啊…
        链球选手:@妤和 大胆!!!

      本文标题:PyQt5学习笔记(十一):文本框与网格布局

      本文链接:https://www.haomeiwen.com/subject/txsvrttx.html