0
点赞
收藏
分享

微信扫一扫

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

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


举报

相关推荐

0 条评论