首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Zetcode GUI 教程

Windows API 中的一个窗口 UI 的第一步 Windows API 菜单 Windows API 对话框 Windows API 控件 I Windows API 控件 II Windows...API 控件 III Windows API 中的高级控件 Windows API 中的自定义控件 Windows API 中的 GDI PyQt4 教程 PyQt4 简介 PyQt4 中的第一个程序...PyQt5 中的俄罗斯方块 Qt4 教程 Qt4 工具包简介 Qt4 实用程序类 Qt4 中的字符串 Qt4 中的日期和时间 Qt4 中使用文件和目录 Qt4 中的第一个程序 Qt4 中的菜单和工具栏...wxWidgets 中的对话框 wxWidgets 小部件 wxWidgets 小部件 II wxWidgets 中的拖放 wxWidgets 中的设备上下文 wxWidgets 中的自定义小部件 wxWidgets...Java Gnome 中用 Cairo 绘图 Cario 绘图 II Java Gnome 中的 Nibbles QtJambi 教程 QtJambi 简介 QtJambi 中的布局管理 QtJambi

2.4K40

那些做客户端 CC++ 开发的同学,现在怎么样了?

我读研的时候,沉迷于 Windows 编程而不能自拔,那个时候也和楼主有一样的困惑。毕业的时候找工作,非 Windows C/C++ 岗位不去,因为技术功底比较好,很快成为客户端负责人。...而且 Windows 新旧系统兼容性方面做的也非常优秀,即使最新的 Windows 操作系统使用很老的 Windows API 仍然没什么问题,虽然很多 API 或者做法不推荐新版系统中使用,但是你使用仍然不会有什么大问题...这也是 WindowsLinux 的不同,Windows 的哲学是你不会操作,Windows 教你如何操作;而 Linux 是假设你会操作。...所谓 DUI,即 Direct Draw on Parent ,即直接子控件对象直接绘制父窗口上,也就是相当于只有父窗口一个窗口句柄。...为了减少这些消息泵,子窗口直接绘制父窗口上,然后利用 PtInRect 这样的 API 函数去检测鼠标是否位于这些绘制出来的控件,然后利用 PostMessage/SendMessage 这样的 API

3.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Windows桌面程序开发

api实现(需要借助node-ffi调用dll解决),所以对各个方案做对比做最后的决策(其实还是纠结用C#.net还是Electron,其它的方案并不考虑)。...Windows 下的 GUI 方案 Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout; 基于 C# 的有...WPF和Winform最大的区别在于WPF底层使用的DirectX,Winform底层使用的是GDI+,所以WPF的图形界面上更胜一筹 GDI+(Graphics Device Interface)图形设备接口....NET Core 更适合跨平台的需求, .NET Core 的应用程序支持 Windows, Linux, and macOS 运行。...容器化大行其道的今天,.NET Core 的模块化、轻量级以及它的灵活性使得它能很容易地部署到容器中,容器可以部署到任何平台,如 云LinuxWindows

10.7K10

wxPython:Python首选的GUI库 | CSDN博文精选

关于兼容性 由于Qt使用的是非标准C++,与其它库的兼容性会存在问题,每个平台的图形界面也并不完全是原生界面( Native GUI),只是透过 theme 去模拟系統的标准 GUI,所以看起來很像...wxWidgets使用的是标准C++,与现有各类工具库无缝连接,不同平台上也是完全Native GUI,是真正的跨平台。...wxPython中,我习惯把事件分为4类: 控件事件:发生在控件的事件,比如按钮被按下、输入框内容改变等 鼠标事件:鼠标左右中键和滚轮动作,以及鼠标移动等事件 键盘事件:用户敲击键盘产生的事件 系统事件...动态布局 “事件和事件驱动”的例子里,输入框、按钮等控件的布局,使用的是绝对定位,我习惯叫做静态布局。静态布局非常直观,但不能自动适应窗口的大小变化。...DC可以屏幕绘制点线面,当然也可以绘制文本和图像。事实底层所有控件都是以位图形式绘制屏幕的,这意味着,我们一旦掌握了DC这个工具,就可以自己创造我们想要的控件了。

2.9K10

CEGUI学习

在对游戏引擎的支持,Orge和CEGUI整合得非常好,是Orge的官方指定特约UI库。更换接口部分之后,CEGUI理论可以支持所有引擎。...如:Windows、Unix和Mac,详见http://www.wxwidgets.org)实现。...使用layout文件时,CEGUI是不太方便的,因为要定位控件,常常得修改文件当中的参数,如果在c++文件当中修改,每次都编译,很恶心(尤其是在有编辑器的情况下,使用c++就不能使用了)。...这个编辑器还是使用wxWidgets,配置工程同前文提到的LayoutEditor。 0.5版本的ImagesetEditor编辑器功能上有所改观,但是问题还是不少。...同样,正式使用之前,需要大家修改和完善它。 使用ImgesetEditor方面,由于它完成的功能较为简单,因此其使用没有LayoutEditor那么多的说法,只要给切好的图的名字写好ok了。

61230

桌面应用跨端开发的一些框架

wxWidgets 是基于操作系统的 API 来做桌面应用的,也就是说, Windows 下开发一个桌面应用时,看起来就像是传统的 Windows 桌面软件的风格, Mac 下则是 Mac 的风格,...也就是说,使用wxWidgets 在三个平台上都是按照三个平台自己的 API 来绘制这个按钮的。wxWidgets 提供了非常多的操作系统的 API,并且可以做到静态链接,但小问题比较多。...之所以平台桌面应用开发框架中介绍,就是除了FinClip移动端跨端开发的能力,它还支持在手机以外,如Windows、Mac、Linux、统信、麒麟等平台下运行小程序,这意味着,移动端、PC 端、IOT...同时,它还提供一个完善的后台管理系统,统一管理小程序的架和下架、监测小程序的使用详情,换句话说,借助该工具,可以借助微信小程序生态的成熟度,快速引入业务生态来壮大、丰富自己的业务场景,实现技术和业务双降本增效...2022年5月,Google Google I/O 2022 发布了 Flutter 3.0版本,宣布对 Windows、macOS、Linux 桌面操作系统提供支持。

2.2K50

桌面软件开发框架大赏

它内置了自绘引擎,也就是说界面上的一个按钮,一个文本框,都是Qt的引擎自己画的,这保证了基于Qt开发的软件界面不同操作系统看起来是一模一样的。...甚至Windows下编译一下GTK的源码都要比Linux下难很多。 而且GTK的渲染引擎Windows下性能表现也不如在Linux下好。...GTKWindows也没办法静态连接,倒不是因为版权的问题,而是它依赖了MSYS2的一些库,这个库用于Windows模拟Linux环境,这也是为什么GTKWindows上表现不佳的原因之一。...但框架本身还有一些问题,比如对高分屏支持不佳、特殊控件绘制也有一些小问题, 除了界面相关的API外,几乎没有提供系统级的API,作者纯粹是用爱发电来开发这个框架,所以更新不是很及时。..., Mac使用Cocoa/WebKit,Linux使用gtk-webkit2,Windows 10使用Edge(也就是上一个小节里提到的webview2), 它是不支持Win7的。

6.8K30

CEGUI添加自定义控件

这些文件我都是先拷贝CEGUI原本的一些控件代码,然后更改的。其实可以做一个CEGUI新控件模板文件,这样以后添加新控件方便多了。...控件的逻辑模块完成了,我们还需要将控件加到CEGUI系统中,System::addStandardWindowFactories()函数中,添加一行: WindowFactoryManager::...头文件包含路径,以及lib文件路径,以及PostEvent命令中,解决方案使用了$(CEGUI_7),$(WXWIDGETS_7),$(CE_LAYOUT_EDITOR_7)等环境变量,我们需要新建3...但是控件属性,我们还无法设置我们新控件的两个属性【TimerFormatText】【TotalTime】,为了能让CELayoutEditor中识别这两个属性,我们需要修改CELayoutEditor.ini...修改完成后,我们新添加的TimerWindow控件,能找到这个两个属性,并进行设置了。加载layout文件,测试很顺利。

2.4K40

wxPython入门中文版 (Getting Started with wxPython)

本例中,我们使用 “None” 来表示这个frame是顶层的框架,没有父框架;使用 “wx.ID_ANY” 让 wxWidgets 来给我们挑选一个ID。...另外 wxWidgets 还提供了其它的标准 ID(v2.8)。 你也可以自定义一个ID,但 Getting Started with wxPython 认为,没有理由那样做,用标准ID更好。...当人们谈论GUI的时候,他们通常指的是windows,menus和icons。那么自然地,你可能会认为应该用wx.Window来代表屏幕的一个window。但实际不是这样的。...如果有一个现成的标准ID,最好还是使用它,而不要自定义。因为这样可以让wxWidgets知道,不同的平台怎样去显示这个组件,使它看起来更美观。...Panel 的主要目的是功能性和外观和对话框相似,但是又有作为父窗口的灵活性。 事实, 对于那些处理文字录入的对象(通常被称作控件或组件)来说,Panel 就是个灰色的背景。

4.4K30

3行代码,为“任意”Python程序生成GUI界面!

使用wxWidgets作为底层GUI框架,可以将几乎所有python命令行程序转换为GUI程序,它生成的界面如下图所示: 它的原理简单来说,就是把命令行解析器(argparse)解析到的命令行参数转换成对应的输入控件...它的使用也确实足够简单,有时候一个装饰器@Gooey解决了问题。...但是,我最后还是没有选择使用Gooey,这里有几个原因:一是我的机器Gooey生成的界面总感觉有些卡卡的(不知道是不是因为wxWidgetsWindows平台上有些“水土不服”);二是高分屏,...PyGUIAdapter设计之初考虑到了扩展性和灵活性的问题,我们既可以依赖内置的规则,由function2widgets库自动推导函数参数所对应的控件类型;我们也可以通过一些方法,手动指定参数的控件类型...4.一些常用的自定义方法 当然,你可能会提出,根据语义,path使用一个专门编辑路径的控件更合适,content用一个多行文本控件会更好,每个参数名称如果可以自定义就好了,如果有详细的说明更好....

14410

Python 常用的GUI框架都有哪些

它是一个多平台的工具包,可以运行在所有主要操作系统,包括UNIX,Windows和Mac。PyQt采用双许可证,开发人员可以选择GPL和商业许可。...QT带来的最大好处就是它有一个QT Desiginer,这个设计器可以方便我们进行页面的布局,可以说Tkinter里面需要一坨坨的代码完成的页面布局,QT里面只要拖一拖控件搞定了。 ?...它还内置许多用户界面控件如:按纽、摄影机、表格、Slider和树形控件等。 PyGTK -GTK Linux中常用的“GTK+”是“PyGTK”的“GTK +”封装。...与Kivy和PyQt相比,它能不加修改的稳定运行在各种操作系统之上,如Linux,Windows,MacOS等。...只需要有 Python 和浏览器就可以运行 CEF Python 基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于第三方应用程序中嵌入式浏览器的使用上 Dabo

2.8K10

不能装 X

我读研的时候,曾沉迷于 Windows 编程而不能自拔,那个时候也和楼主有一样的困惑。毕业的时候找工作,非 Windows C/C++ 岗位不去,因为技术功底比较好,很快成为客户端负责人。...而且 Windows 新旧系统兼容性方面做的也非常优秀,即使最新的 Windows 操作系统使用很老的 Windows API 仍然没什么问题,虽然很多 API 或者做法不推荐新版系统中使用,但是你使用仍然不会有什么大问题...这也是 WindowsLinux 的不同,Windows 的哲学是你不会操作,Windows 教你如何操作;而 Linux 是假设你会操作。...所谓 DUI,即 Direct Draw on Parent ,即直接子控件对象直接绘制父窗口上,也就是相当于只有父窗口一个窗口句柄。...为了减少这些消息泵,子窗口直接绘制父窗口上,然后利用 PtInRect 这样的 API 函数去检测鼠标是否位于这些绘制出来的控件,然后利用 PostMessage/SendMessage 这样的 API

1.2K20

用wxPython打造Python图形界面(

这些工具包中的每一个都将与Windows、macOS和Linux一起工作,而PyQt具有移动设备上工作的附加功能。...PyQt和Tkinter都自己绘制小部件,这就是为什么它们并不总是去匹配本机小部件,尽管PyQt已经非常接近了。 这并不是说wxPython不支持自定义小部件。...GUI的定义 正如在介绍中提到的,图形用户界面(GUI)是屏幕绘制的供用户交互的界面。 用户界面有一些共同的组件: 主窗口 菜单 工具栏 按钮 文本输入 标签 所有这些项目通常称为小部件。...本例中,你告诉wxPython框架没有父框架,它的标题是Hello World。下面是运行代码时的样子: ? 注意:当你Mac或Windows运行应用程序时,它看起来会有所不同。...这个小部件不是必需的,但是推荐使用Windows,你实际需要使用一个面板,以便框架的背景颜色是正确的灰色阴影。如果在Windows没有面板,则禁用选项卡遍历。

4.8K40

教你用Python写界面

Tkinter包含了对Tk的低 级接口模块,低级接口并不会被应用级程序员直接使用,通常是一个共享库(或DLL),但是一些情况下它也被Python解释器静态链接。...就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的跨平台能力,能够运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS...建立SDL基础,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。...tkinter.messagebox import showinfo, showwarning, showerror #各种类型的提示框 进行界面绘制之前你需要初始化Tk() root = Tk()...使用grid能让你更容易把握控件的位置,你可以指定它出现在几行几列,是否跨行跨列,跨几行等等 ?

4.4K30

如何在 wxPython 中创建多个工具栏

它具有各种平台的本机外观和感觉,包括Windows,macOS和Linux。...使用 wxPython,您可以使用各种小部件(例如按钮、文本控件,当然还有工具栏)设计具有视觉吸引力且响应迅速的桌面应用程序。...创建从 wx 继承的自定义窗口类。框架。 通过调用父类构造函数并将窗口标题作为参数传递来初始化自定义窗口类。 框架内创建一个面板以容纳微件。...使用 Centre() 方法将窗口居中显示屏幕使用 Show() 方法显示自定义窗口。 使用 wx 创建 wxPython 应用程序。应用()。 创建并显示自定义窗口对象。...面板用于保存wxPython应用程序中的小部件(控件)。 使用 CreateToolBar() 方法为窗口创建一个工具栏。

22120
领券