博客
关于我
PyQt5按键创建的几种方法
阅读量:318 次
发布时间:2019-03-04

本文共 2417 字,大约阅读时间需要 8 分钟。

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

方法一:

# -*- coding:utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButtonclass 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 sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButtonclass 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 sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass 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 sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass 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元件。如果这里有疑问, 请阅读。(超链接点击跳转)

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

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

转载地址:http://pquh.baihongyu.com/

你可能感兴趣的文章
函数指针的典型应用-计算函数的定积分(矩形法思想)
查看>>
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
查看>>
用 wxPython 打印你的 App
查看>>
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
查看>>
android:使用audiotrack 类播放wav文件
查看>>
vue通过better-scroll 封装自定义的下拉刷新组件
查看>>
android解决:使用多线程和Handler同步更新UI
查看>>
Element UI 中动态路由的分析及实现
查看>>
使用springMVC配置视图管理器后找不到指定的页面
查看>>
杭电 2007 平方和与立方和(输入数据的大小顺序并不能默认)
查看>>
十大排序算法之三:插入排序(Python)
查看>>
利用递归实现二叉树的前中后序遍历(Python)
查看>>
合并两个有序数组
查看>>
聊聊我的五一小假期
查看>>
Vue新建项目——页面初始化
查看>>
CSS position属性static/relative/absolute/fixed/sticky用法总结
查看>>
6.14编一个程序,将两个字符串s1和s2比较,不要用strcmp函数。
查看>>
Java纯文本文件显示工具制作
查看>>
三、案例:留言板 & url.parse()
查看>>
LeetCode:28. 实现 strStr()——————简单
查看>>