Desc Solution Desc 突然有个游戏灵感,看了一下 Unity 3D 好像和预期效果有些偏差,多处辗转于不同语言和引擎,最终决定使用 GameMaker Studio 虽然是个比较简单的引擎...,但是可以根据需求进行扩展,而且操作简单的独立游戏已经足够了。...从 Steam 可以免费一键下载,Pro 版则需要购买但是有更多的功能(多平台导出的功能等等) 初次使用遇到一个问题,点击Run的时候并没有运行当前工程而是弹出一个打开窗体 Steam 里面相同问题描述...但是这个文件根本就没有生成 图片 Solution 后来仔细查看发现 compile 信息中有个路径有些问题 C:\\gm_ttt_77627\gm_ttt_71756 可能因为程序权限问题或者杀毒软件封杀导致无法在...C 盘根目录建立新文件夹 这个可以在GMS的Preference里面设置temp folder,将其修改到其他目录即可解决
button; button.setIcon(QIcon(pixmap)); button.show(); return a.exec(); } 运行该段程序后出现了错误提示就异常退出了...既然报关于QPixmap的错误提示,我们先找找QPixmap的官方文档吧。...找了一遍,找到了一个有点关系的注意事项: Note: When using the native X11 graphics system, the pixmap becomes invalid when...注意:使用本机X11图形系统时,销毁QApplication实例后,像素图将会无效。 并不能解释上面的运行时错误的原因。...绘图设备访问窗口系统资源,并且在创建应用程序对象之前是不会初始化这些资源。 顺便也找下Qt源码的错误出处: QPixmap::QPixmap(const QString& fileName,..
本文记录我学习开发 X11 应用的笔记 如何设置X11里面两个窗口之间的层级关系 如何类似 WPF 的 Owner 之类的关系?可使用 XSetTransientForHint 方法。...比如有 a 和 b 两个窗口,使用下面代码即可设置 a 窗口一定在 b 窗口上方 // 我们使用XSetTransientForHint函数将窗口a设置为窗口b的子窗口。...设置窗口的override_redirect属性为True,以避免窗口管理器的干预,如此即可实现无边框 var valueMask = 0...SetWindowValuemask.OverrideRedirect 十分重要,如果没有加上将会导致 override_redirect 设置无效 以上代码放在 github 和 gitee 上,可以使用如下命令行拉取代码...窗口绘制的笔迹 获取 Avalonia 的 X11 窗口 if (TryGetPlatformHandle()?.
本文记录在 X11 里面的窗口与颜色的位色深关系 本文属于学习 CPF 框架博客,感谢小红帽的 CPF 框架。...简单理解就是 24 色是不带透明的,而 32 色是带透明的 在 X11 里面,简单的创建窗口的代码大概如下图所示(看不见图片的话,开浏览器的不安全内容兼容,我的图片是 http 的不是 https 的)...其实就是 RootWindow 窗口 在 X11 里面,所有的窗口都是 RootWindow 窗口的子窗口 尝试使用以下代码来获取 RootWindow 的色深 using static CPF.Linux.XLib...进行创建,这将会导致无法设置窗口背景透明。...这里的 depth 参数需要和窗口的颜色深度匹配,否则将会看到一些奇怪的错误 额外说明的是对于 XImage 来说,深度是一回事,还有颜色格式也是很重要的 在 X11 里面有 XYBitmap 和 XYPixmap
问题重现# 在使用 libvirt 管理虚拟机时,有时会用到 virt-manager 提供的图形界面管理虚拟机,查看 vnc 输出等,但是常常会得到如下错误: (virt-manager:25381)...: cannot open display: Linux 解决# 如果是在 Linux 桌面环境,解决方法很简单,只需要这样连接远程服务器就可以了: ssh -Y username@ip 使用 -Y 参数实际上是授权了...X11 转发,这样就可以看到来自远端的 gtk 图形窗口了。...Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls. ......=en_US 再次打开窗口发现一切正常: Windows 解决# 在 Windows 下不是每一个终端模拟器都支持 x11 转发,使用 MobaXterm 直接可以连接,也可以使用 Xming 连接即可
传统上,窗口装饰一直是一件很无聊的事情。标题栏,边框,最小化,最大化,调整大小和退出,差不多就是这样了。但是,近来,应用程序越来越倾向于在其装饰中包括特定应用程序的UI和主题。...如果您随后尝试执行窗口移动或通过抓住鼠标并手动设置窗口大小和位置来调整自己的大小,您会很快发现它确实感觉不太好。窗口管理器通常对窗口的移动或调整大小具有非常特定的行为。...startSystemResize的工作原理类似,不同之处在于它需要一个Qt::Edges参数,该参数是您抓取的窗口边缘的位字段。...例如: startSystemResize(Qt.RightEdge | Qt.BottomEdge) 这也非常方便,因为您可以轻松地为所有四个窗口边缘都拥有一个处理程序,并像这样建立edges参数...当前,Wayland,X11,macOS和Windows均支持startSystemMove,而Wayland,X11和Windows则支持startSystemResize,但macOS不支持。
本文记录我阅读 Avalonia 代码过程中所学习到的在 X11 的窗口之间发送鼠标消息,可以跨进程给其他进程的窗口发送鼠标消息,通过此方式可以实现模拟鼠标输入 直接使用 XSendEvent 给指定窗口发送消息即可...(EventMask.ButtonMotionMask)), ref xEvent); } } } 如上述代码可以看到只需更改 XSendEvent 里面的 Window 对应的参数...,跨进程其实也可以,只需要获取其他进程的窗口对应的指针即可。...其实在这里我不确定 X11 的窗口 IntPtr 是否称为指针是合适的。...= 0) { // 绘制是无效的 //XDrawLine(display, window2Handle, window2GCHandle,
在cmd命令窗口进入es的bin目录,然后执行如下命令: elasticsearch-service.bat install 执行成功后就可以看到es的服务了: ?...在cmd窗口进入node.js安装的根目录,然后执行npm install -g grunt -cli。...(4)、安装pathomjs: 在cmd命令窗口进入head插件解压后的根目录,然后执行npm install (5)、连接es: 在es的安装根目录的config目录下有elasticsearch.yml...和jna依赖。...以上内容属于个人笔记整理,如有错误,欢迎批评指正!
有朋友咨询为什么他们的 Qt 应用程序在统信 UOS ARM 版本下运行,提示如下错误: qt.qpa.plugin: Could not find the Qt platform plugin "xcb...它是 X11 协议的 C 语言绑定,用于在 Linux 和其他类 Unix 系统上管理图形窗口。 2....Qt 平台插件 "xcb": 该插件使 Qt 应用程序能够在基于 X11 的 Linux 系统上运行。它负责处理窗口管理、事件处理、输入设备交互等与图形界面相关的任务。...这种情况下,一般是由于 libqxcb.so 的依赖不满足导致的,可以用 ldd 命令查看一下是不是所有依赖的 so 都能找到。...一般来说,使用该插件需要系统中安装 X11 和 XCB 库,通过安装 x11 库和 xcb 库解决。也可以将 so 一起打包到应用程序中。 经过这两步,解决了问题。
二、CrossOver Mac安装失败 使用CrossOver安装软件,有时会出现程序一直安装运行无法完成退出,或是安装程序中断退出的状况。...CrossOver Mac安装失败,可能有以下两个方面的原因: 1、缺少X11文件 如果是缺少X11文件导致程序无法正确安装,只需运行CrossOver然后点击菜单栏的“CrossOver”选择“检查更新...2、程序文件为EXE格式 EXE格式的应用文件无法直接在Mac安装,常规的安装方式会导致安装程序中断意外退出,可使用CrossOver的“安装文件或文件夹”,重新安装EXE格式的应用文件: 1)运行CrossOver...可在对应容器中安装“思源黑体-简体中文”等常用字体解决界面显示乱码: 1)运行CrossOver软件,点击应用下方“安装Windows应用程序”按钮; 2)在弹出窗口的搜索“思源黑体-简体中文”,选择好字体后点击...“继续”; 3)在弹出的窗口点击“安装”按钮,为字体“选择容器”后点击“继续”,等待字体安装“完成”退出应用; 4)如果应用界面依然乱码,可使用同样方法继续安装“微软雅黑”、“华文细黑”、“Times
在 学习 CPF 框架笔记 了解 X11 窗口和消息基础知识 的基础上,假定当前已创建完成了窗口,准备好了事件监听 在 X11 执行绘制图片需要在 Expose 曝光之后进行,可在 XSelectInput...根据 dotnet 的 GC 特点,对象在内存里面的指针是可变的,这将会导致如果能够直接取出 byte 数组的对象指针,且将对象指针传递给 X11 层,将可能在某次 GC 之后,图片像素 byte 数组所在内存空间变更...,导致 X11 里面存放了错误的指针地址,可能造成段错误等。...否则将会导致 X11 层存放一个错误的指针地址,导致内存损坏 获取到像素数组的指针,即可构建 XImage 结构体,代码如下 var img = new XImage(); int bitsPerPixel...GC 之后 data 指针对应的内存不是可用的 // 调用 XPutImage 将访问不可用内存,导致段错误,闪退 //pinnedArray.Free(); return
X 系统和 X11 在 Linux 世界, X 系统一直占据着图形窗口系统的主导地位。...X11 之后并没有推出新的主版本。 X11 的协议设计体现了当时的需求:一个分布式的、灵活的显示服务器系统。它可以通过网络远程显示图形界面,支持多种硬件和窗口管理器,成为开源操作系统的核心组件。...独立于硬件和操作系统: X11 是一个协议,可以在不同操作系统和硬件上实现。 窗口管理器支持: -X11 本身不管理窗口的布局或样式,这些功能由 窗口管理器(如 GNOME、KDE)实现。...然而,时代的车轮滚滚向前,X11 的架构也暴露出越来越多的问题。 复杂的架构: X11 的客户端-服务器架构导致通信开销较大,影响性能。 在本地使用时,部分功能显得冗余。...性能问题: X11 在高分辨率显示、动画渲染等方面性能有限,难以满足现代 GUI 的需求。 安全性较低: 由于 X11 的协议允许客户端访问服务器上的所有资源,可能导致应用程序之间的隔离性不足。
2.VOID ExitThread(DWORD dwExitCode); 正常结束一个线程的执行 参数说明: dwExitCode:指定调用线程的退出代 3.BOOL TerminateThread...( HANDLE hThread,DWORD dwExitCode); 强制终止一个线程的执行 参数说明: hThread:被终止的线程的句柄 dwExitCode:线程退出时的退出码 4...); 挂起一个线程 参数说明: hThread:线程句柄 6 GetExiCodeThread() 得到一个已经终止线程的退出码 7.BOOL SetThreadPriority...hWnd:取得其消息的窗口的句柄。当其值取NULL时,GetMessage为任何属于调用线程的窗口检索消息,线程消息通过PostThreadMessage寄送给调用线程。...如果出现了错误,返回值是-1。例如,当hWnd是无效的窗口句柄或lpMsg是无效的指针时。若想获得更多的错误信息,请调用GetLastError函数。
本文将告诉大家如何在 Gtk3 的 Gtk.Window 或 Gdk.Window 里面获取到对应的 X11 窗口 XID 号 记录本文是因为我在这里踩了很多坑,核心问题就是 GTK 有很多个版本,我开始找的全是使用...GdkDrawable 指针,让我弄错为使用 gtk_widget_get_window 方法去获取其 gdk 窗口,于是错误就更加诡异 通过阅读文档发现了以下的 gtk 架构图,即 gtk 的窗口和...gdk 窗口获取到对应的 X11 窗口的 XID 值 为了方便使用 gdk_x11_window_get_xid 方法,以下照 GtkSharp 进行一些代码定义 [UnmanagedFunctionPointer...X11 窗口的 XID 号,可以同步在命令行输入进 xwininfo 命令里面。...比如我这里输出的是 X11 窗口 0x5600003 的值 打开另一个命令行,输入以下命令,将 XID 传入 xwininfo 命令,即可看到显示的窗口标题和当前运行的窗口是相同的 我核心踩坑就是搜到的是
本文记录如何在 X11 应用里面,使用 XShapeCombineRegion 方法配置一个 X11 窗口支持和 Win32 窗口一样的命中测试穿透功能,即对应 Win32 的 WS_EX_TRANSPARENT...的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口 在 X11 窗口中,想要实现让窗口不可命中,即所有的鼠标、触摸等的事件穿透到后面的窗口上,可以采用 libXext.so...提供的 XShapeCombineRegion 方法,也可以使用有争议的 libXfixes.so 提供的 XFixesSetWindowShapeRegion 方法 通过以上两个方法即可让 X11...KWin_X11 能够符合预期工作 如运行代码提示找不到 libXext.so 文件,错误内容如下 System.DllNotFoundException: Unable to load shared...github 和 gitee 上,欢迎拉取代码阅读和构建 参考文档: 如何在屏幕上显示一局部透明、鼠标点击可穿过的窗口 - V2EX 2021-08-21窗口管理器杂谈 - 简书 更多 X11 开发请参阅
JNA中有两种Library 映射的方法,分别是interface和direct mapping。...上面的代码中,load方法传入两个参数,第一个参数是library的name,第二个参数是interfaceClass....在这个过程中,我们可以修改方传入的参数,或者做任何我们想做的事情。...,很有可能出现memory access errors,并且可能会导致VM崩溃。...总结 JNA是调用native方法的利器,如果数量掌握的话,肯定是如虎添翼。 本文已收录于 http://www.flydean.com/03-jna-library-mapping/
1.信息窗口关不掉 场景a:广告页面设置虚假关闭/跳过按钮,导致广告弹窗关不掉。...举例:由于某应用的广告窗口页面提供了虚假、无效的关闭按钮,导致用户点击关闭按钮后却无法真正关闭,出现下载、安装应用的现象。...如图1所示: 图1 场景b:广告关闭按钮过小,标识不明显,或可供点击的焦点区域狭小等情况极易导致用户点击错误区域,从而跳转到广告页面、第三方APP,或者应用市场引导用户下载其他应用的行为,这种情况属于关闭选项标识不明显...,应当以显著的方式向用户提供关闭或者退出窗口的功能标识。...不应提供虚假、无效、标识不明显的关闭选项。 2.欺骗误导强迫下载、安装、使用APP 场景a:在APP广告窗口页面,点击广告下载按钮提示外的任意位置会直接下载、安装、使用APP。
领取专属 10元无门槛券
手把手带您无忧上云