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的使用来加深各个控件归属层次的理解。

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

你可能感兴趣的:(PyQt5,pyqt5,qt,gui,python)