artfoxe6#gmail.com new

第一个PyQt程序

这个程序虽然小,具备pyqt程序的皱型,可以作为一个模板使用了

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import QApplication, QWidget

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        self.setGeometry(300, 300, 300, 220)  
        self.setWindowTitle('Simple') 
        self.show()
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())  

先看运行效果:

import sys
from PyQt5.QtWidgets import QApplication, QWidget

两个必要的导入

app = QApplication(sys.argv)

每一个pyqt程序必须创建一个application对象,sys.argv是命令行参数,可以通过命令行传参,来定制我们的程序

class Example(QWidget):
    
    def __init__(self):
        super().__init__()

我们创建一个Example类继承QWidget类,PyQt5里面QWidget是所有用户界面对象的基类,所有和用户界面相关的类都必须继承

QWidget类,比如QMainWindow和QDialog等内置的窗口类都是继承自QWidget的,这里我们新建一个Example类同样要继承QWidget类,

使用super.__init__() 调用QWidget的构造函数

self.setGeometry(300, 300, 300, 220)  
self.setWindowTitle('Simple') 

 setGeometry方法控制窗口的大小和位置,setWindowTitle设置窗口标题

self.show()

show方法将窗口显示到屏幕上

sys.exit(app.exec_()) 

app.exec_() 进入程序主循环,事件处理开始。主循环从窗口系统接收事件并把事件发送给指定窗口,当调用app.exit()或者

程序因为各种原因被破坏后,使用sys.exit()可以优雅的关闭程序,并通知系统程序结束

===============================================================

在上面代码基础上增加点东西
现在我要在这个窗口上添加一个按钮,在添加一个输入框

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import (QApplication, QWidget,QPushButton,
    QLineEdit)

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        self.setGeometry(300, 300, 300, 220)  
        self.setWindowTitle('Simple') 
        btn = QPushButton("button",self)
        line = QLineEdit(self)
        line.move(100,100)
        self.show()
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())  

 

首先在import那句添加了两个相关类,在initUI函数里面添加了几行代码,一看就明白了 不用多说

现在你可能有这样的疑问,如果我要添加一个单选框,复选框,时间选择器等等,这些东西我怎么知道在那个模块呢?

都叫什么名字呢?  第一个问题在我的上一篇博文中就写了,常见功能对应在那些模块中,大概也就知道了和窗口界面有关的都在QWidget模块下面

比如现在你知道复选框在QWidget模块中 ,那你就可以打开qt文档 找到QWidget模块,一眼望下去你就会找到他,根据类名就能大概猜到功能

找到在哪里就好办了,你可以看看这个类提供那些方法,比如上面的按钮我没有设置他的位置,下面的输入框我用了move方法,你还可以设置输入框的宽高不是,

每一个类都提供了很多方法,很多不同的类具有部分相同的方法,用到的时候就去查文档,多查几次常用的就记住了

最简单的方法就是打开 Qt Creator

虽然是c++的,但是用法和python都是一样的,只是把c++的语法改成python方式来写就可以了,

 

posted @ 2015-12-03 17:07  codeAB  阅读(888)  评论(0编辑  收藏  举报