问题标签 [fbs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pyqt5 - ubuntu侧工具栏PyQt5中没有复制setwindowtitle
我正在尝试使用 PyQt5、FBS 和 QtDesigner 创建一个应用程序
我的应用程序按预期工作
我的问题是,当我将光标移到 ubuntu 侧边栏中的应用程序图标上时,它的悬停显示unknown
我在我的代码中使用以下行
此标题未在 ubuntu 左侧边栏图标悬停中复制
python - PyQt5 使用 pdfkit 创建 pdf - 每个 pdf 都会弹出 wkhtmltopdf.exe 窗口
我已经使用 PyQt5 构建了一个应用程序来处理一些数据并使用 pdfkit 生成 pdf 报告。如果我通过 PyCharm 运行应用程序,效果很好。我已经使用 fman 构建系统(PyInstaller 包装器)将应用程序打包成可执行文件,当我运行它时,每次生成 pdf 时都会弹出一个 wkhtmltopdf.exe 控制台窗口。
处理许多文件时,这真的很烦人。
有没有办法确保 wkhtmltopdf.exe 只作为最小化窗口(或类似解决方案)打开?
python - Python ImportError:DLL加载失败:在fman构建系统(fbs)上找不到指定的模块
当我尝试使用 fman 构建系统 (fbs) 将我的 python 脚本转换为 EXE 时遇到错误。当我尝试在虚拟环境中的 cmd 中在 Python 3.6 上运行程序时发生此错误。
我正在使用 Python 3.6 和 pyinstaller 3.4。下面是我正在使用的库列表。
以下是我收到的错误:
python - 在非 GUI 代码中访问 fbs 资源文件
使用fbs打包 PyQt5 应用程序,从非 GUI 代码访问资源文件的最干净的方法是什么?
在下面的示例中,我制作了一个简单的 PyQt5 应用程序,其中一个窗口包含一个按钮。该按钮触发一个函数,该函数将读取资源文件并在控制台中.json
打印其属性。logic.py中定义message
的函数也应该在没有 GUI 应用程序的情况下工作,例如由其他 python 脚本使用。因此,它不能作为 MainWindow 类的方法移动。print_data()
使用应用程序上下文的get_resource()
方法来获取mainwindow.ui的路径既简单又方便。不幸的是,它不能用于print_data()
获取static_data.json的路径,因为该函数无法访问应用程序上下文。
最好的解决方案是什么?
- 仅将 fbs 的资源系统用于 gui 相关的资源文件并将static_data.json与 python 文件一起保存?
- 尝试访问 MainWindow 类之外的应用程序上下文?
- 使用pkg_resources等其他 python 资源库来处理非 gui 相关的资源文件?
- 使用cx_freeze等其他工具打包应用程序?
目录结构:
内容main.py
:
内容gui.py
:
内容logic.py
:
python - PyQt5:包装的 c/c++ 对象已被删除
我正在尝试创建自己的图形项目,其中一个圆圈及其标签位于中心。
现在在我的主 gui 中,一个圆圈的列表被保存为 circleList,我正在尝试将圆圈项目添加为
但这会返回
帮助?
这应该可以解决最小可复制示例
注意:FBS 是必需的,项目应该使用
圆圈也将与以下内容一起添加
python - 无法在 PyCharm 中打包我的 PyQt5 应用程序
我正在尝试使用 FBSENV 来打包我的软件,但是我在 main.py 中的代码给了我:
我的进口声明是:
python - OSError: [WinError 126] 在 pyinstaller 中找不到指定的模块
我是python的初学者,并试图使用称为fbs的pyinstaller的衍生物将.py脚本转换为.exe,所以这个问题可能很愚蠢,我提前道歉。
我按照使用 python 3.6.7 的说明使用它,并按照指示导入虚拟环境中的所有模块。程序运行但 fbs freeze 没有工作。转向“无法执行脚本主程序”错误。我运行 fbs freeze --debug 方法,现在我发现了这个错误:
Traceback(最近一次调用最后):文件“lib\site-packages\PyInstaller\loader\pyiboot01_bootstrap.py”,第 172 行,在 init 文件“ctypes_init_.py”,第 348 行,在 init OSError: [WinError 126] The specified找不到模块 在处理上述异常过程中,出现另一个异常:''''''''''''''''''''''''''''''''' ''''''
文件“lib\site-packages\PyInstaller\loader\pyiboot01_bootstrap.py”,第 174 行, init main.PyInstallerImportError: Failed to load dynlib/dll 'C:\Users\ALEXIS\Desktop\DEVELOP\target\Test5\sklearn. 库\vcomp140.dll'。当应用程序被冻结时,很可能没有找到这个 dynlib/dll。[6916] 无法执行脚本 main
我尝试了一些解决方案,建议将 --path 添加到包含 Qt5Widgets.dll,"Qt5Core.dll"] 和 "Qt5Gui.dll" 的文件夹中,但没有成功。我还尝试将这些 dll 文件作为隐藏导入添加到 json 文件中,但效果不佳。
我希望你能指出我正确的方向。
谢谢,
python - 使用 FBS 和 SQLITE 数据库部署 PyQT5
我正在使用以下“必需”版本:
- Python 3.6.4
- PyQt5 5.9.2
运行“fbs”
我完全没有问题让我的应用程序通过“fbs run”运行……应用程序运行完美
我完成了“fbs freeze”……没问题,但是在运行“fbs 安装程序”并执行 .dmg 文件(我在 macOS - Catalina - 10.15.2 上)并将其拖到我的应用程序文件夹中之后一切似乎都可以工作,但是当我尝试启动现在安装的应用程序时……它开始启动图标和扩展坞,然后就关闭了。
当我注释掉与数据库相关的代码时。这一切都完美无缺。那就是我能够完全启动我的应用程序
我配置我的应用程序的第一种方式。
在 main.py 中:
我把我的数据库文件放在:“src/main/resources”
当我这样操作时,我得到了上面描述的行为(应用程序尝试启动并立即关闭)
我配置应用程序的第二种方式。 我开始四处寻找是否可以解决问题。所以我在目标目录中找到了一个“资源”目录我尝试通过以下可执行文件启动我的应用程序:target/testPlants.app/Contents/ 当我这样做时,mac CMD 窗口出现,我看到它告诉我,它无法在我在“get_resource”方法中指定的路径找到我的数据库。
所以我发现目标目录中的资源目录是大写的,像这样:
target/testPlants.app/Contents/Resources,我看到我的数据库按预期存储在“资源”目录中。所以我将 main.py 中的 appctxt.get_resource 语句更改为:
事实上,当我尝试通过以下目录中的 .exe 启动它并且我的应用程序启动时,我不再收到错误消息......(我没有得到我的图标,但它启动了! )
所以我在想,我在某个地方。
所以我继续尝试通过在运行具有此路径更改的安装程序后双击应用程序图标来启动我的应用程序(使用大写的“资源”),我现在收到一个新错误
(见下文)屏幕截图 2020-04-19 在 2.46.11 PM.png
Reproducible Sample 使用代码原样...当我检查目标目录中的资源目录时,该目录是由于 fbs 冻结而创建的,其中没有 db,因此应用程序尝试启动(在我运行安装程序),然后关闭。如果我手动将数据库放入其中,它会给我“内存不足”错误。谢谢参观
更新- 我相信我修复了数据库问题,对代码和配置进行了以下更改,但在运行“fbs freeze”后我仍然无法看到我的图像
以下是我对数据库所做的更改:
- 对我来说,第一个数据库必须位于“资源”的子目录中,而不是直接使用资源,所以对我来说是这样的:
src/main/资源/基础
- 接下来,我假设我的“main.py”中的路径会模仿上面的路径(换句话说,我放置数据库的位置(src/main/resources/base))。相反,这似乎对我有用:
appctxt.get_resource("plants.db")
我现在没有关于无法找到数据库的错误,但是,当我运行可执行文件时,我的图像/图标都没有显示,这对我来说,启用了应用程序和数据库的导航。
在阅读文档时,图像似乎遵循与数据文件/数据库相同的逻辑,但这似乎对我不起作用。它在我执行“fbs run”时起作用,但在我启动应用程序的可执行文件时在“fbs freeze”之后不起作用。应用程序启动时没有错误,但没有图像。
我的图像配置与数据库相同:
- 我已将它们加载到名为“base”的“资源”的子目录中,如下所示
src/main/资源/基础
- 至于“main.py”文件中的语句,我有以下内容:
有人对图像有好运吗?有不同的方法来配置它们吗?谢谢
进一步更新
当我继续尝试解决这个问题时,在“fbs freeze”之后,我可以确认 fbs 将数据库和图像传输到:“target//Contents/Resources”目录,但我认为它并没有真正看到任何一位。
此外,我是否包括以下内容似乎没有什么区别:
在 main.py
我想我不完全理解在什么条件下我需要包含 .get_resource() 方法以及如何配置它。我在这里看到了这个例子,但不知道如何让它与我的数据库一起使用,或者我什至需要。从逻辑上讲,我这样做了。我会继续挖掘,但如果有人有见识,我会很感激任何提示。
更新 - 已修复!
我终于想通了,我希望这对其他人有帮助。
- 这部分我做对了,数据文件、图像和数据库在这里:
src/main/资源/基础
- 以下是我如何获取数据库代码以使其被识别:
我需要将 get_resource() 方法放在 PyQt 的 QSqlDatabase 类的 setDatabaseName() 方法中。
对于图像我需要做这样的事情:
或者,如果使用 setStyle 方法,如下所示:
python - 在 qss 定义中使用 FBS 的获取资源方法?
我有一个单独的 qss 样式表,其中包含我的整个应用程序的样式表定义。我需要添加一个关闭按钮作为背景图片,因为我找不到有关使用内置图标的文档。
文件存储在默认的 fbs 结构中,位于 src/main/resource/base/ui/*.png
因为我不能使用带有花括号的 fstrings 作为 qt 的一部分。这个答案使用 python 字符串格式,但由于我有一些 rgba 颜色值也有 % ,所以我不断收到关键错误。
由于我不能使用 %ages 或花括号,我正在考虑使用 get_resource 构建一个 qproperty,但我不确定如何。我需要我的 qss 交叉兼容并且无法逃脱我的花括号。
我的主要问题是,当我使用 FBS 冻结将应用程序与 fbs 打包时,图像将不可用