小编Ber*_*ker的帖子

cx-freeze,runpy和multiprocessing - 多个失败路径

这有点复杂,可能需要一些时间.

基本的问题是,在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"给了我这个可爱的回溯,它什么也没告诉我:

Pastebin例子

相反,将它设置为spawn只是让它不做任何事情.__main__正如我可以用打印件证明的那样,该过程开始并经历,但从不进入子过程的目标函数.

试着自己

确保你有使用python 3.4的Ubuntu或类似的Linux.然后获取所有依赖项:

从git下载omnitool作为zip或克隆:https …

python ubuntu multiprocessing cx-freeze python-3.4

32
推荐指数
1
解决办法
1016
查看次数

Qt WebView - 拦截加载JS/CSS库以加载本地库

我一直在寻找一段时间通过文档来找到实现这一目标的方法,但尚未成功.基本的想法是,我有一个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计划列入白名单?

qt pyqt url-scheme qwebview pyqt5

6
推荐指数
1
解决办法
480
查看次数

尽管看似正确的设置,Travis-CI 并未触发

无法弄清楚为什么我的 travis 构建不会触发。相关项目:

https://travis-ci.org/Berserker66/FactorioManager

https://github.com/Berserker66/FactorioManager

有一个 .travis.yml,此后一直有推送。

设置看起来也不错: 特拉维斯设置

travis-ci

5
推荐指数
1
解决办法
4523
查看次数

QMl 滚动条按需

因此,QtQuick Scrollbar 有 AsNeeded、AlwaysOn 和 AlwaysOff 的策略设置。不幸的是,AsNeeded 存在一个核心问题:滚动条仅在鼠标悬停在其所附加的可轻拂对象上时显示(在我的例子中是带有 CheckDelegates 的 ListView)。

这意味着仅查看菜单,用户可能看不到更多复选框,直到将鼠标悬停在 ListView 上为止,但这种情况并不总是发生。

AlwaysOn 也是有问题的,因为它还会显示何时 ListView 的条目少于列表的长度,在这种情况下,ScrollBar 只是一个令人困惑的矩形。

有没有一种方法可以配置 ScrollBar,使其始终显示,如果有需要滚动的内容,并且在没有内容时根本不显示?

scrollbar qml

2
推荐指数
1
解决办法
1516
查看次数