PyQt5按键创建的几种方法

PyQt5模块中,按键作为一个元件,被创建时也拥有各式各样的方法,有时候初学者会感觉到比较混乱,因此这里特别记录一下。这里给出相应的代码,代码皆为最为纯净的模式,通俗易懂。

方法一:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton


class App(QWidget):
    def __init__(self, parent=None):
        super(App, self).__init__(parent)

        btn = QPushButton("按键1", self)


def main():
    app = QApplication(sys.argv)
    window = App()
    window.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

我们可以看到,这里我们直接使用btn = QPushButton("按键1", self)创建了一个按键对象,其中字符串"按键1"代表了这个按钮的名字,self表示我们将这个按键固定在了QWidget上面。这种创建按键的方法是最简单的方式。

方法二:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton


class App(QWidget):
    def __init__(self, parent=None):
        super(App, self).__init__(parent)

        btn = QPushButton(self)
        btn.setText("按键1")


def main():
    app = QApplication(sys.argv)
    window = App()
    window.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

我们可以看到,这里我们单独使用btn.setText("按键1")来对按键上的文字进行了设置,有些多此一举,但是这种写法更为清晰。上述的两种方法都添加了按键,但是并没有添加相应的布局模式,接下来,将添加的按钮加入到我们需要的布局中来。

方法三:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout


class App(QWidget):
    def __init__(self, parent=None):
        super(App, self).__init__(parent)

        btn = QPushButton()
        btn.setText("按键1")

        layout = QHBoxLayout(self)
        layout.addWidget(btn)


def main():
    app = QApplication(sys.argv)
    window = App()
    window.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

我们可以看到这里我们使用layout = QHBoxLayout(self)创建了水平布局,并且将这个水平布局通过self添加到了当前的QWidget元件上。最后将按键通过layout.addWidget(btn)添加给了我们创建好的布局。当我们运行程序时,就会显示出相应的结果了。

方法四:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout


class App(QWidget):
    def __init__(self, parent=None):
        super(App, self).__init__(parent)

        btn = QPushButton()
        btn.setText("按键1")

        layout = QHBoxLayout()
        layout.addWidget(btn)

        self.setLayout(layout)


def main():
    app = QApplication(sys.argv)
    window = App()
    window.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

这种方法实现的结果与方法三一致,唯一的区别是我们创建布局时没有添加self来指定创建布局的归属,最后使用self.setLayout(layout)语句来声明创建好的layout的归属。这里的self指代的便是QWidget元件。注意:这里一定不要从QMainWindow中继承,会出现问题,读者可以自行尝试。 如果这里有疑问, 请阅读PyQt5小程序开发之类继承。(超链接点击跳转)

到这里创建按键最基本的方法就全部被记录下来了,并且我们可以对比self的使用来加深各个控件归属层次的理解。

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

勤奋的大熊猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值