Python简易IDE工作界面制作

news2024/9/21 4:37:24

、       休闲一下,学习编程还是要学习一些界面编程,能够根据需要制作图形操作界面,这样我们开发的程序才能方便操作和使用,同时获得更友好的人机交互体验。下面是一个用PyQt5制作的简易界面,供大学参考。如下图所示:

以下为程序代码,较为简陋,制作简单的IDE程序可在此基础上做更复杂的设计完善。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QToolBar, QStatusBar, QDockWidget, QTreeWidget, QTreeWidgetItem, QTextEdit, QMainWindow, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt

class IDEWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 菜单栏
        menuBar = self.menuBar()
        fileMenu = menuBar.addMenu('File')
        editMenu = menuBar.addMenu('Edit')
        viewMenu = menuBar.addMenu('View')
        helpMenu = menuBar.addMenu('Help')

        # 工具栏
        toolBar = self.addToolBar('Toolbar')
        toolBar.addAction('Open')
        toolBar.addAction('Save')

        # 状态栏
        self.statusBar = self.statusBar()
        self.statusBar.showMessage('Ready')

        # 目录树
        directoryTree = QTreeWidget()
        directoryTree.setColumnCount(1)
        directoryTree.setHeaderLabels(['Directory'])
        item1 = QTreeWidgetItem(directoryTree)
        item1.setText(0, 'Project')
        item2 = QTreeWidgetItem(item1)
        item2.setText(0, 'File1.py')
        item3 = QTreeWidgetItem(item1)
        item3.setText(0, 'File2.py')

        # 工作区
        self.editor = QTextEdit()

        # 设置目录树为浮动窗口
        directoryDock = QDockWidget('Directory', self)
        directoryDock.setWidget(directoryTree)

        # 将目录树加入窗口
        self.addDockWidget(Qt.LeftDockWidgetArea, directoryDock)

        # 设置中心窗口小部件
        centralWidget = QWidget()
        layout = QVBoxLayout()
        layout.addWidget(self.editor)
        centralWidget.setLayout(layout)
        self.setCentralWidget(centralWidget)

        # 显示窗口
        self.setGeometry(100, 100, 800, 600)
        self.setWindowTitle('IDE')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainWindow = IDEWindow()
    sys.exit(app.exec_())

今天就到这里,感谢大家观看。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

罪人的终幕(原题)

题目背景 而我承诺你,一切都将在一场盛大的,如同戏剧般的审判中结束…… 小小地旋转,轻轻地跳跃,然后便是「罪人」的谢幕。 题目描述 定义函数 𝑎(𝑥)a(x) 表示自然数 𝑥x 的不同的质因子的和。…

数据增强在Sentence Transformers中的作用:提高句子评分任务的性能

Sentence Transformers 是一个强大的 Python 库,它基于 Transformer 模型架构,如 BERT、RoBERTa 和 XLM-RoBERTa 等,用于学习和操作句子级别的向量表示。这个库特别适合于处理自然语言处理(NLP)任务,能够为…

实用好软-----电脑端 开源的视频无损剪切与合并工具

这个是一个开源项目LosslessCut 无损剪切就是基于关键帧的剪切,不需要重编码,因此速度非常快, 缺点就是切割时间无法达到非常精确,可能前后会有几秒的差距, 要做到精确的剪切,只能重编码。 LosslessCut在切…

学习之SQL语句之DQL(数据库查询语言)

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录 查询关键字:SELECT 数据准备: CREATE TABLE emp ( id INT COMMENT “编号”, workno VARCHAR ( 10 ) COMMENT “工号”, NAME VARCHAR ( 10 ) COMME…

windows配置hadoop环境

目录 一、windows配置hadoop环境1、下载文件2、解压3、移动winutils.exe4、移动hadoop.dll5、配置代码内容 一、windows配置hadoop环境 1、下载文件 首先下载所需要的文件内容 共有三个文件,可以通过 这个链接 获得 2、解压 使用解压工具将 hadoop-3.0.0.tar.gz…

堆的时间复杂度分析

一,建堆的时间复杂度分析 堆是一颗完全二叉树,满二叉树又是一颗特殊的完全二叉树。 对于满二叉树来说,第一层的节点个数为2^0,第二层的节点个数为2^1,......所以可以得到第h层的节点个数为2^(h-1)。总结点个数N2^02^1...2^(h-1)2^h-1。那么就…

桌面日历工具

Desktop Calendar 官网 设置安装目录,防止默认装到C盘修改为自己想要安装的位置调整位置和大小

ip地址变化是什么意思?手机地址ip一直变化怎么办

IP地址作为互联网设备的唯一标识,‌其稳定性对于网络连接至关重要。‌然而,‌手机IP地址频繁变动可能带来一系列问题。‌本文将深入探讨IP地址变化的含义、‌IP地址频繁变动的原因,‌以及提供手机地址IP一直变化的有效应对策略。‌ 一、IP地址…

申请商标及版权时千万要注意字体!

近日有个渠道合作的朋友申请版权,就是几行文字,普推知产老杨一看这个字体有点特别,不是免费字体,一问也不是他们美工自己设计,是在网上找的字体,一检索果然是商业字体,赶紧建议换字体。 以前经常…

list类底层逻辑实现

list的底层逻辑是一个双向带头链表。那么list的底层其实就跟我们之前实现的带头双向链表相同,都是开辟一个一个单独的节点,最后再通过指针将各个单独的节点链接起来即可。 我们来类比之前编写的双向带头链表实现具体的内容。 创建一个list类的主体 就像我…

一个浏览器插件如何月入12万美元:深入了解 GoFullPage

一个浏览器插件如何月入12万美元:深入了解 GoFullPage 前言 GoFullPage 这个插件的诞生,源于其创作者 Peter Coles 的一个简单想法:解决一个他在日常开发工作中遇到的痛点。早在 2012 年,Coles 发现许多现有的网页截图工具无法完…

Qt 多个按钮,响应同一个点击事件

最近的一个需求&#xff0c;需要多个按钮响应同一个点击事件&#xff0c;并且要求能区分是哪个按钮点击的&#xff0c;看效果&#xff1a; 直接上代码&#xff1a; QList<QPushButton*> buttons findChildren<QPushButton*>();for (QPushButton* button : buttons…

Centos Stream9系统安装及网络配置详解

1.镜像下载 如未拥有系统镜像文件的伙伴可通过前往下面的连接进行下载&#xff0c;下载完成后需将其刻录至U盘中。 PS&#xff1a;该U盘应为空盘&#xff0c;刻录文件会导该盘格式化&#xff0c;下载文件选择dvd1.iso完整包&#xff0c;适用于本地安装。 下载地址&#xff1…

波导阵列天线单元学习笔记7 一种用直接金属激光烧结考虑的轻质量,宽带,双圆极化波导腔体阵列

摘要&#xff1a; 提出了一种工作在Ku频段的轻质量&#xff0c;宽带&#xff0c;双圆极化波导腔体阵列。为了获得双正交的线极化&#xff0c;基本的辐射单元是由两个波导馈电的方形腔体。通过恰当地对馈网进行调谐&#xff0c;可以获得对于两个正交极化的等辐同相辐射电场&…

学习之MySQL约束

概述 1、概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据 2、目的&#xff1a;保证数据库中数据的正确性&#xff0c;有效性和完整性 3、分类&#xff1a; 注意&#xff1a;约束是作用域表中字段上的&#xff0c;可以创建表/修改表的时候…

jenkins安装k8s插件发布服务

1、安装k8s插件 登录 Jenkins&#xff0c;系统管理→ 插件管理 → 搜索 kubernetes&#xff0c;选择第二个 Kubernetes&#xff0c;点击 安装&#xff0c;安装完成后重启 Jenkins 。 2、对接k8s集群、申请k8s凭据 因为 Jenkins 服务器在 kubernetes 集群之外&#xff0c;所以…

华为云征文|部署个人博客管理系统 Ghost

华为云征文&#xff5c;部署个人博客管理系统 Ghost 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 对比普通ECS 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Ghost3.1 Ghost 介绍3.2 Docker 环境搭建3.3 Ghost 部署3.4 Gho…

同时学习C++和Java,会如何

在当今信息时代&#xff0c;编程语言如同人类的语言&#xff0c;是沟通机器的桥梁。 而随着技术的不断发展&#xff0c;编程语言种类繁多&#xff0c;选择哪种语言学习成为了许多人面临的难题。 有人建议专注于一门语言&#xff0c;精益求精&#xff0c;而也有人主张同时学习多…

Windows连接虚拟机中的mysql5失败

Windows连接虚拟机中的mysql5失败 虚拟机版本为centos6.8&#xff0c;数据库版本为mysql5.6&#xff0c;系统版本为window11。在虚拟机上安装好mysql&#xff0c;并且配置好权限&#xff0c;虚拟机登录正常之后。在windows11上使用工具dbeaver连接mysql失败&#xff0c;报错 Co…

春秋云镜(ZZCMS 2023)·CVE-2023-50104

漏洞参考说明&#xff1a;GitHub - zzq66/cve4 漏洞复现&#xff1a; 1、访问 URL/3/E_bak5.1/upload/index.php 2、使用默认账户密码admin/admin登录 3、上传恶意语句 修改tablename字段为eval($_POST[1]) POST /3/E_bak5.1/upload/phomebak.php HTTP/1.1 Host: eci-2zehp12…