关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?”...可执行文件,并扩展了对捆绑常见库(如 QT、GTK +、NumPy 和 Django )的支持。...管理特定项目的 Setuptools 可能会变得非常繁琐,特别是在自动生成需求、管理文档文件或编辑项目贡献者数据时。...它可以自动化许多 Setuptools 打包的设置,例如版本号、生成作者和 ChangeLog 文件,以及生成 Sphinx 风格的文档。...WxPython(https://wxpython.org/),是 WxWidgets(https://www.wxwidgets.org/) 库的一个封装,使用了其所支持主机平台的原生 UI 元素,包括
这个过程主要是会在 C:\wxWidgets-3.1.1\lib\vc_lib\mswu\wx 生成一个 setup.h 和其他依赖文件,这个文件在我们后面编译 wxsqlite3 的时候会用到。...我依然使用的是 VS2013 的解决方案。 ? 接下来要配置一下项目,右键 wxsqlite3 项目->属性,在打开的属性页中,选择所有配置和所有平台: ?...接下来,将 libsqlite3 项目和 wxsqlite3 项目的所有 Debug 版本的运行库修改为 /MTD,将所有 Release 版本的运行库都修改为 /MT,注意如果你需要用 64 位的 wxsqlite3...这样生成出来的 wxsqlite3.lib 文件你就可以引入到你自己的项目中使用了。使用时需要包含 wxsqlite3\include 目录下的头文件。...安装 wxWidgets 批量生成所有项目(主要为了生成 setup.h 文件) 克隆 wxsqlite3 项目并根据自己的需要打开对应解决方案 配置两个依赖目录 配置项目的运行库(主要为了与你 exe
,但问题在于:如果你是一个GUI方面的新手,学习一种GUI框架无疑将引入巨大的学习成本。...它使用wxWidgets作为底层GUI框架,可以将几乎所有python命令行程序转换为GUI程序,它生成的界面如下图所示: 它的原理简单来说,就是把命令行解析器(argparse)解析到的命令行参数转换成对应的输入控件...但是,我最后还是没有选择使用Gooey,这里有几个原因:一是在我的机器上Gooey生成的界面总感觉有些卡卡的(不知道是不是因为wxWidgets在Windows平台上有些“水土不服”);二是在高分屏上,...既然如此,本着没有轮子,那就自己造一个的思路,我开启了一个新的项目——PyGUIAdapter。...这一切,都是可以实现的,这里提供一种常用的自定义方法(更多自定义的选项和方法会有单独的文章进行介绍,也可以直接阅读PyGUIAdapter仓库中examples/下的示例源代码,这些示例几乎涵盖了PyGUIAdapter
关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?” PyInstaller 一直是对此最好的答案之一。...,适用于 Windows 可执行文件,并扩展了对捆绑常见库(如 QT、GTK +、NumPy 和 Django )的支持。...管理特定项目的 Setuptools 可能会变得非常繁琐,特别是在自动生成需求、管理文档文件或编辑项目贡献者数据时。...它可以自动化许多 Setuptools 打包的设置,例如版本号、生成作者和 ChangeLog 文件,以及生成 Sphinx 风格的文档。...WxPython,是 WxWidgets 库的一个封装,使用了其所支持主机平台的原生 UI 元素,包括 Windows、Mac、Linux 和其他类 Unix 操作系统。
项目三:PyInstaller 什么是PyInstaller? 关于Python的最常见的问题之一是“如何从Python脚本生成独立的可执行文件”?PyInstaller一直是最好的答案之一。...PyInstaller 3.3还包括一个更广泛兼容的引导加载程序,适用于Windows可执行文件,并扩展了绑定常见库(如QT,GTK +,NumPy和Django)的支持。...管理给定项目的安装工具可能变得非常繁琐,特别是在自动生成需求,管理文档文件或编辑项目贡献者数据时。...它可以自动化Setuptools打包的许多方面,例如版本号,生成作者和变更文件,以及生成Sphinx风格的文档。...WxPython是WxWidgets库的封装器,它使用了支持主机平台的本地UI元素,包括Windows,Mac,Linux和其他类Unix操作系统。
.exe文件:可执行文件 .ilk文件:在重新构建项目时被链接器使用,它使链接器能够根据修改的源代码生成的目标文件增量的链接到现有的.exe文件,从而避免每次修改程序时都重新链接所有文件。...在项目文件夹中也有一个Debug目录,它包含在构建过程中生成的很多文件,从Windows Explorer的Type描述中可以看到它们包含何种信息。...工程文件夹下的Debug或Release子文件夹中包含了编译链接时产生的中间文件,解决方案文件夹下的Debug或Release子文件夹中主要包含有应用程序的可执行文件。...因为C++没有提供GUI的内置支持,如果要用C++创建一个窗口,我们需要使用系统API或者使用封装了系统API的一些库,前者如Win32系统API后者如MFC、wxWidgets等。...除了加深对C++的理解之外,你还得需要各种各样的基于C++的库去实现更具体的东西。如果你想做GUI,那你得学习QT、wxWidgets等。
熟悉 Git 的小伙伴应该都知道随着 Git 仓库维护的时间越来越久,追踪的文件越来越多,git 存储的 objects 数量会极其庞大,每次从远程仓库 git clone 的时候都会墨迹很久。...count-objects -vH 示例:可以看到当前仓库体积只有 12.00 KiB 左右 现在我们模拟错误的将大文件上传到远程 Git 仓库的动作: # 1、生成一个 90MB 大小的文件,Github...做了限制超过 100 MB 大小的文件建议使用 LFS,直接拒绝 push ➜ dd if=/dev/zero of=bigfile bs=90MB count=1 # 2、将这个文件 push 到远程仓库...➜ git add bigfile ➜ git commit -m "add 90MB bigfile" ➜ git push origin master Enumerating objects: 4...origin/master What’s the difference between git clone –mirror and git clone –bare Git LFS 大文件存储 如果我们之前生成的大文件
在当今数字化的时代,图形用户界面(GUI)的重要性不言而喻。一个直观、高效且美观的 GUI 能够极大地提升用户体验,为软件产品增添巨大的价值。...2. wxWidgets wxWidgets 也是一个跨平台的 GUI 框架,它具有良好的可移植性和灵活性。...wxWidgets 使用 C++语言编写,并且提供了类似于 MFC 的编程风格,对于熟悉 Windows 开发的开发者来说比较容易上手。...同时,wxWidgets 还支持多种编译器,方便开发者进行选择。 3. ...在选择 GUI 框架时,开发者需要根据项目的需求、目标平台、开发团队的技术水平等因素进行综合考虑。 三、设计良好的用户界面 一个高效的 GUI 不仅要具备强大的功能,还要有良好的用户体验。
这个编辑器是使用wxWidgets作的框架,所以你还得下载wxWidgets,看一下你下载的CELayoutEditor需要的wx版本,然后选一个正确的下载。...规则3 次级控件命名 Root窗口下一级UI控件使用 场景英文名+控件实际用途方式命名,如示例场景下的背景图片命名为SampleSceneBackground。...规则4 其它控件命名 次级以下控件使用 上一级控件名/控件自身控件名 的方式进行命名,如示例场景下的退出按钮命名为 SampleSceneBackground/Quit。...这个工具十分有用,减轻了美术很多的负担,它可以生成imageset文件,并可以以鼠标操作图片框。 从CEGUI的0.4版本开始,这个工具就开始提供了。...其实,解决这些问题并不困难,大家发挥一下自己的聪明才智,一定能修改出符合自己项目需要的编辑器,毕竟人家把这个框子搭好了,几千行的代码也不是那么容易写的。
二 Qt Creator 简介 Qt Creator是一个跨平台的,完整的Qt集成开发环境(IDE),其中包括了高级C++代码编辑器,项目和生成管理工具,集成的上下文相关的帮助系统,图形化调试器,代码管理和浏览工具等...四 Qt下载后包括的几部分 安装后的 Qt 主要包含以下几部分: 1) Qt Library:也就是 Qt 的库,这是 Qt 的核心。...4) Qt Assistant:Qt 帮助工具,包含了 Qt 教程、示例、类参考手册、模块介绍等,是 Qt 的官方资料,类似 MSDN。学习 Qt,一定要会使用 Assistant 查找资料。...提示:在 Windows 下,GUI 解决方案比较多,基于C++的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基于C#的有 WinForm、WPF,基于Java的有...漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets 比较麻烦。
示例 以下是使用 GCC 编译一个简单的 C 程序的命令: gcc hello.c -o hello 这条命令将 hello.c 编译成可执行文件 hello。...CMake CMake 是一个跨平台的构建系统生成器,用于自动化项目的构建过程。...示例 以下是一个简单的 CMakeLists.txt 文件: cmake_minimum_required(VERSION 3.10) project(HelloWorld) # 添加可执行文件 add_executable...三者配合最终生成可执行文件。...三者的协同工作示例 如:使用 GCC、CMake 和 vcpkg 构建一个依赖 Boost 库的项目 安装 vcpkg git clone https://github.com/microsoft/vcpkg
如果有一个现成的标准ID,最好还是使用它,而不要自定义。因为这样可以让wxWidgets知道,在不同的平台怎样去显示这个组件,使它看起来更美观。...“About” 项目,self.OnAbout 就会被执行。...Note: Bind()之后,运行我的程序就提示编码错误,不能再使用中文了,所以下面的代码示例都是全英文的。不知道这是不是python(x,y)独有的问题。谁能帮我解答一下?...wx.EVT_MENU 指代“选择菜单中的项目”这个事件。wxWidgets 提供了很多的事件,可以点这里查看不完整的列表,也可以使用下面的代码打印完整的列表。...ComboBox 可以是 “下拉菜单+复选框” , 可以是 “下拉菜单+表格”…可以点击这里查看 ComboBox 的示例,虽然是 C# 写的,但 ComboBox 的概念是相同的。
该文件是CMake的构建配置文件,用于指定项目的源代码文件、编译选项和生成的可执行文件等信息。...以下是一个简单的CMakeLists.txt文件示例: # 指定CMake版本 cmake_minimum_required(VERSION 3.10) # 指定项目名称 project(hello...add_executable指定了生成的可执行文件名称和源代码文件的路径。...# 生成Makefile文件 make # 编译源代码并生成可执行文件 执行完以上命令后,会在build文件夹中生成一个可执行文件hello。...运行项目 在终端中输入以下命令运行生成的可执行文件: ./hello 此时,将输出Hello, World!信息。至此,一个简单的C/C++项目就被成功构建了。
注意上面的这句话“将所有依赖打包到一个可执行文件中”,而在以往,我们使用 dotnet publish 将应用程序进行发布之后,我们会看到,在 publish 下有许多项目依赖的 dll 文件,在 .NET5.0...以上执行的两条命令语句,会为我们生成 Linux 和 Windows 两个平台的程序包,从上图中可以看出,在打包之前,项目的各种引用依赖都被复制到了发布目录下,这也是我们之前的程序发布方式,在经过打包后...在程序成功运行起来后,我们发现,打包程序并没有解压缩文件到磁盘,而是直接从包中加载文件到内存中运行;这是巨大的进步,也是和 War 文件根本的区别。...跨平台的打包文件 通过上面的示例我们了解到,打包程序总是为不同的平台生成独立的包程序,这是为什么呢?...结束语 编写这篇文章耗费了我大量的时间,期间大量阅读海量的参考资料、文献、标准文档、制作文章配图等等,写干货文章真的需要投入巨大的精力和时间,希望你们喜欢。
TARGET: 目标文件的变量,这里定义了最终生成的可执行文件的名字。 SRCS: 源文件的变量,这里列出了所有的源文件。 OBJS: 中间文件的变量,这里将源文件的后缀由 .c 替换为 .o。...$(TARGET): 目标文件的生成规则,告诉 Make 如何生成最终的可执行文件。 $(OBJS): 中间文件的生成规则,告诉 Make 如何生成中间目标文件。...Makefile 是一个非常强大的工具,可以用于管理复杂的项目结构。以上示例是一个简单的入门级别的 Makefile,实际项目中可能会包含更多的配置和规则。 5....示例 下面是一个简单的 C 语言项目的 Makefile 示例: CC = gcc CFLAGS = -Wall LDFLAGS = SRCDIR = src OBJDIR = obj BINDIR...注意到这个 Makefile 中的变量和规则可以根据项目的结构和需求进行适当的调整。 23. 安装规则 Makefile 可以包含安装规则,用于将可执行文件、库文件等安装到指定位置。