• PyQt5主界面


    QMainWindow

    QMainWindow控件继承之QWidget控件,QWidget是所有控件的父类,主要提供界面的基本功能,包括边框、标题、工具栏、关闭按钮、最小化按钮以及最大化按钮等。子类中再进行差异化的设置,完成具体控件的效果。

    QMainWindow控件里面包含:菜单栏、工具栏、状态栏以及中心子窗口。相关接口如下:

    方法 描述
    menuBar() 获取主窗口菜单栏
    addMenu() 添加子菜单栏到父菜单栏
    addAction() 添加菜单栏/工具栏中的具体选项
    addToolBar() 添加工具栏,返回值是新增的工具栏对象
    setCenterWidget() 添加中心子窗口
    setStatusBar() 设置状态栏
    statusBar() 获取状态栏对象
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QMenu, QStatusBar, QWidget, QLabel
    
    class MyWidget(QMainWindow):
        def __init__(self):
            super(MyWidget, self).__init__()
            self.initMenuBar()
            self.initToolBar()
            self.initCenter()
            self.initStatusBar()
    
        def initMenuBar(self):
            self.open = QAction('Open(&O)', self)
            self.close = QAction('Close(&C)', self)
            self.ascii = QAction('Ascii(&A)', self)
            self.utf = QAction('UTF(&U)', self)
            self.utf8 = QAction('UTF8(&V)', self)
    
    
            self.menu = self.menuBar()
            self.file = self.menu.addMenu('File(&F)')
            self.file.addAction(self.open)
            self.file.addAction(self.close)
    
            self.langurage = QMenu('Langurage(&L)', self)
            self.langurage.addAction(self.ascii)
            self.langurage.addAction(self.utf)
            self.langurage.addAction(self.utf8)
            self.menu.addMenu(self.langurage)
    
        def initToolBar(self):
            self.fileToolBar = self.addToolBar('File')
            self.fileToolBar.addAction(self.open)
            self.fileToolBar.addAction(self.close)
    
            self.langurageToolBar = self.addToolBar('Langurage')
            self.langurageToolBar.addAction(self.ascii)
            self.langurageToolBar.addAction(self.utf)
            self.langurageToolBar.addAction(self.utf8)
    
        def initStatusBar(self):
            self.statusBar = QStatusBar()
            self.setStatusBar(self.statusBar)
            self.statusBar.showMessage('V1.0.0')
    
        def initCenter(self):
            self.widget = QWidget(self)
            self.setCentralWidget(self.widget)
            label = QLabel(self.widget)
            label.setText('center widget')
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        w = MyWidget()
        w.resize(500, 300)
        w.move(300, 300)
        w.setWindowTitle('Simple')
        w.show()
        sys.exit(app.exec_())

     小技巧

    • QAction中使用&可以设置快捷键,格式:WidgetName(&X)

    • 对于菜单栏中,要想选中/触发QAction,必须先触发QAction所在的QMenu,不能直接触发QAction

  • 相关阅读:
    【转载】如果你看完这篇文章还不懂计算机时间,那就掐死我吧
    记录 C#中 LINQ 和 SQL 语句 的一些操作数据集合
    记录mysql 存储过程中循环临时表
    记录一个有趣的dotnet开源库。
    将Quartz.Net用于ASP.NET Core 3.0应用程序中的,并实现通过依赖注入获取其他服务
    web api中接收 复杂类型数组参数(对象数组参数)
    网页支付宝支付,通过form表单提交,在苹果手机上无法跳转
    阿里云服务器上搭建FTP服务器,连接时出现:读取目录列表失败的解决办法
    css选择器及float(浮动)
    盒子四大元素
  • 原文地址:https://www.cnblogs.com/chusiyong/p/12905608.html
Copyright © 2020-2023  润新知