pyqt5(入门二,基础窗口)

主要内容都在代码注释里了,比较方便

下面是一个小窗口
import sys
from PyQt5.QtWidgets import QApplication, QWidget  #这里引入了PyQt5.QtWidgets模块,这个模块包含了基本的组件。

if __name__ == '__main__':

    app = QApplication(sys.argv)#每一个pyqt5应用都必须创建一个应用对象,sys.argv是一组命令行参数的列表

    w = QWidget() #赋值,没有父级的构造器被称为窗口(Windows)
    w.resize(250, 150)#改变窗口大小,宽、高
    w.move(300, 300)#把控件放置在屏幕坐标的位置,屏幕坐标系的原点是屏幕左上角
    w.setWindowTitle('Simple')#窗口标题,标题栏展示
    w.show() #能让控件在桌面上显示出来。

    sys.exit(app.exec_())#进入了应用主循环中,当调用exit()方法或直接销毁主控件,主循环就会结束。
窗口图标

也可以基于类class来实现,下面是实现带窗口图标的代码,该部分主要是定义一个图标的方法,创建一个gui,由主程序调用,下面三个方法都继承自QWidget类

    def initUI(self):
        self.setGeometry(300, 300, 300, 220)#把窗口方法屏幕上并设置窗口大小,分别代表屏幕坐标X/Y,窗口宽、高
        self.setWindowTitle('Icon') #窗口标题
        self.setWindowIcon(QIcon('web.png'))        #添加图标,先创建一个对象,然后接受一个路径作为参数显示图标

        self.show()

效果如下图:


pyqt5(入门二,基础窗口)_第1张图片
image.png
提示框

这里用的代码是重复了上一部分。所以注释只有提示框的一部分

    def initUI(self):

        QToolTip.setFont(QFont('SansSerif', 10)) #创建提示框,里面分别是字体和大小

        self.setToolTip('This is a QWidget widget') #调用setTool可以使用富文本格式的内容

        btn = QPushButton('Button', self)  #创建一个按钮
        btn.setToolTip('This is a QPushButton widget') #使用提示框
        btn.resize(btn.sizeHint()) #调整按钮大小,sizeHint是默认的按钮大小
        btn.move(50, 50)       #此刻按钮的位置是相对于窗口的坐标

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Tooltips')    
        self.show()
关闭窗口

本例使用的是QPushButton组件类。
关闭窗口最直接的方式是点击标题栏的×,但是现在是通过程序关闭。

    def initUI(self):               

        qbtn = QPushButton('Quit', self) #创建点击就退出的按钮,并创建一个对象,第一个参数是按钮的文本
        qbtn.clicked.connect(QCoreApplication.instance().quit)#点击后与quit函数绑定。
        qbtn.resize(qbtn.sizeHint())
        qbtn.move(50, 50)       

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Quit button')    
        self.show()

点击后即会退出程序

消息盒子message

主要控件是Qmessagebox
主要用法就是创建一个

reply =QMessageBox.question(self,‘message’,“are you sure to quit?”,QMessageBox.Yes| 
            QMessageBox.No,QMessageBox.No)#默认是NO时间,在最后
  if reply == QMessageBox.Yes:
            event.accept()#执行关闭
   else:
            event.ignore()     #忽略关闭
窗口居中

没啥子用的东西。。就是一个center

你可能感兴趣的:(pyqt5(入门二,基础窗口))