pyqt QGridLayout示例

目录

pyqt开源漂亮界面

pyqt QGridLayout示例


pyqt开源漂亮界面

有哪些设计较好的开源 PyQt/Qt/Qml 应用? - 知乎

播放器:

GitHub - HuberTRoy/MusicBox: MusicPlayer 一站式收听多平台音乐(网易云, 虾米, QQ)的跨平台音乐播放器,尽情享受吧~

白色播放器:

https://github.com/harry159821/XiamiForLinuxProject

pyqt QGridLayout示例

原文:pyqt布局管理器QGridLayout简单示例

import sys

from PyQt5.QtWidgets import *

class Example(QWidget):
    def __init__(self):
        super(Example,self).__init__()
        self.grid = QGridLayout()
        self.initUI()
        self.setWindowTitle('grid layout')

    def initUI(self):
        while self.grid.count():
            item = self.grid.takeAt(0)
            widget = item.widget()
            # if widget has some id attributes you need to
            # save in a list to maintain order, you can do that here
            # i.e.:   aList.append(widget.someId)
            widget.deleteLater()

        names=['Cls','Bck','','Close','7','8','9','/','4',
               '5','6','*','1','2,','3','-','0','.','=','+']

        j=0
        pos=[(0,0),(0,1),(0,2),(0,3),
             (1,0),(1,1),(1,2),(1,3),
             (2,0),(2,1),(2,2),(2,3),
             (3,0),(3,1),(3,2),(3,3),
             (4,0),(4,1),(4,2),(4,3)]
        for iterm in names:
            button=QPushButton(iterm)
            if j==2:
                change=QPushButton(u'文本编辑器')
                self.grid.addWidget(change,0,2)
                change.clicked.connect(self.otherUI)


            else:
                self.grid.addWidget(button,pos[j][0],pos[j][1])
            j=j+1

        self.setLayout(self.grid)
        self.resize(300,300)
    def otherUI(self):
        while self.grid.count():
            item = self.grid.takeAt(0)
            widget = item.widget()
            # if widget has some id attributes you need to
            # save in a list to maintain order, you can do that here
            # i.e.:   aList.append(widget.someId)
            widget.deleteLater()
        title=QLabel('Title')
        author=QLabel('Author')
        review=QLabel('Review')

        titleEdit=QLineEdit()
        authorEdit=QLineEdit()
        reviewEdit=QTextEdit()


        self.grid.setSpacing(10)

        self.grid.addWidget(title,1,0)
        #addWidget(self, a0: QWidget, row: int, column: int, rowSpan: int, columnSpan: int
        self.grid.addWidget(titleEdit,1,1,1,2)

        self.grid.addWidget(author,2,0)
        self.grid.addWidget(authorEdit,2,1)

        self.grid.addWidget(review,3,0)
        self.grid.addWidget(reviewEdit,3,1,5,1)

        back=QPushButton(u'返回')
        back.clicked.connect(self.initUI)
        self.grid.addWidget(back,6,2)

        self.setLayout(self.grid)
        self.resize(300,300)




app=QApplication(sys.argv)
ex=Example()
ex.show()
sys.exit(app.exec_())


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值