pyqt5基本窗口控件

一、QMainWindow、Qwidget、QDialog

1.QMainWindow是主窗口基类,包含菜单栏,工具栏、状态栏、标题栏。任何一个GUI都必须继承QMainWindow

QDialog是对话框基类。对话框主要用来执行短期任务或者与用户进行互动

Qwidget是控件基类,既可以作为顶层窗口也可以嵌入到其他窗口中

所以我们在制作UI时通常会把这三个类都导入

 

PyQt5中基本所有的基础窗口控件都在PyQt5.Widgets中,前面说到Qwidget既可以作为顶层窗口也可以作为子窗口控件

 

 如上述程序所示,window就是一个顶层窗口。而当构造window同时传入参数(父窗口)时,则window就会变成其控件。当window作为顶层窗口时,它是可以setWindowTitle()和setWindowIcon()函数的。

任何一个顶层窗口被实例化后,都需要调用show()方法才可以在屏幕上显现。

app是GUI所必须的,app.exec_()是一个主循环(在退出前无限循环),接受信号并分发给程序中每个控件。如果调用exit()或主控件被销毁,主循环就结束。sys.exit()方法程序完整结束,同时记录程序是如何退出的。如果sys.exit()返回0(EXIT_SUCESS)则表示程序圆满结束,非0(EXIT_FAILURE)表示程序异常终止

 二、窗口的坐标系统

 

 

 

 三、给顶层窗口设置图标

 

 四、给控件设气泡提示

只要是Qwidget类下的控件不管其作为主窗口还是控件,都可以设置气泡提示。气泡通过下面两个语句实现

 

 

import sys
from PyQt5.QtGui import  QIcon,QFont
from PyQt5.QtWidgets import QWidget,QApplication,QToolTip,QPushButton,QHBoxLayout

class IconClass(QWidget):
    def __init__(self,parent=None):
        super(IconClass,self).__init__(parent)
        self.initUI()
    def initUI(self):
        self.btn=QPushButton("BTN")
        # 设置气泡提示信息
        QToolTip.setFont(QFont("SansSerif", 24))
        self.btn.setToolTip("这是一个气泡提示信息!")

        self.setGeometry(200,200,200,200)#坐标,宽高
        self.setWindowTitle("显示图标的窗口")


        # 布局
        layout = QHBoxLayout()
        layout.addWidget(self.btn)
        self.setLayout(layout)



if __name__=="__main__":
    app=QApplication(sys.argv)
    icon=IconClass()
    icon.show()
    sys.exit(app.exec_())

  

 

 五、文本框类控件

QLineEdit是单行文本框控件,QTextEdit是多行文本框控件。

 

 

 

 掩码:通过setInputMask来设置

 

 

 

 

 

 详细内容参见PDF P169

 

 六、按钮类控件

按钮的基类为QAbstracButton,其为基类,不能实例化

 

 

 

 

 

 

posted @ 2021-09-24 15:47  stateless  阅读(332)  评论(0)    收藏  举报