这有点复杂,可能需要一些时间.
基本的问题是,在Linux上(在我的测试案例中是Ubuntu)我的程序(Omnitool)的cx-freeze'd版本无法创建子进程.但它适用于Windows 7.或者直接从源代码运行.不幸的是,它并不像遗忘那么简单freeze_support.
问题
启动子进程的默认行为是X服务器崩溃.具体如下:
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 23 requests (23 known processed) with 0 events remaining.
[xcb]Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
Omnitool: ../../src/xcb_io.c:274: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)
没有python回溯.我试图XInitThreads用ctypes 手动调用,它返回0表示成功设置,但无论如何崩溃.在崩溃之前Shorty,pygame UI漏掉了,所以我希望有一些错误.
现在,设置multiprocessing.set_start_method()更改问题:"forkserver"给了我这个可爱的回溯,它什么也没告诉我:
相反,将它设置为spawn只是让它不做任何事情.__main__正如我可以用打印件证明的那样,该过程开始并经历,但从不进入子过程的目标函数.
试着自己
确保你有使用python 3.4的Ubuntu或类似的Linux.然后获取所有依赖项:
从git下载omnitool作为zip或克隆:https …
我一直在寻找一段时间通过文档来找到实现这一目标的方法,但尚未成功.基本的想法是,我有一个html,我通过Qt的webview加载.可以将相同的内容导出到单个html文件中.
该文件使用Bootstrap和jQuery等库.目前我通过CDN加载它们,这在网上很好用.但是,我的应用程序还需要脱机运行.所以我正在寻找一种方法来拦截Qt中的库加载并改为提供本地保存的文件.我已经尝试安装https QWebEngineUrlSchemeHandler,但似乎从来没有触发过requestStarted方法.
(PyQT example follows)
QWebEngineProfile.defaultProfile().installUrlSchemeHandler(b'https', self)
Run Code Online (Sandbox Code Playgroud)
如果我为该方案使用不同的文本并将其嵌入到它所使用的页面中,那么我的假设是它不起作用,因为Qt已经注册了它的默认处理程序.但是这种不同的方案在文件导出中会失败.
无论如何,回到核心问题; 有没有办法拦截库的加载,或仅在Qt内专门更改url方案?
进一步使用QWebEngineUrlRequestInterceptor,现在将https请求重定向到我自己的uri,它有一个uri处理程序.但是,请求永远不会通过它,因为:重定向位置'conapp://webresource/bootstrap.min.css'对于跨源请求有一个不允许的方案.如何将自己的conapp uri计划列入白名单?
无法弄清楚为什么我的 travis 构建不会触发。相关项目:
https://travis-ci.org/Berserker66/FactorioManager
https://github.com/Berserker66/FactorioManager
有一个 .travis.yml,此后一直有推送。
因此,QtQuick Scrollbar 有 AsNeeded、AlwaysOn 和 AlwaysOff 的策略设置。不幸的是,AsNeeded 存在一个核心问题:滚动条仅在鼠标悬停在其所附加的可轻拂对象上时显示(在我的例子中是带有 CheckDelegates 的 ListView)。
这意味着仅查看菜单,用户可能看不到更多复选框,直到将鼠标悬停在 ListView 上为止,但这种情况并不总是发生。
AlwaysOn 也是有问题的,因为它还会显示何时 ListView 的条目少于列表的长度,在这种情况下,ScrollBar 只是一个令人困惑的矩形。
有没有一种方法可以配置 ScrollBar,使其始终显示,如果有需要滚动的内容,并且在没有内容时根本不显示?