小编K.M*_*ier的帖子

如何使 QMenu 中的图标更大(PyQt)?

我还没有找到如何使 QMenu 中的图标变大。我试图定义一个图标大小被放大的样式表。但它不起作用。这是我的代码:

menuStyleSheet = ("""
        QMenu {
            font-size: 18px;
            color: black;
            border: 2px solid black;
            left: 20px;
            background-color:qlineargradient(x1:0, y1:0, x2:0, y2:1, stop: 0 #cccccc, stop: 1 #ffffff);
        }

        QMenu::item {
            padding: 2px 20px 2px 30px;
            border: 1px solid transparent; /* reserve space for selection border */
            spacing: 20px;
            height: 60px;
        }

        QMenu::icon {
            padding-left: 20px;
            width: 50px;        /* <- unfortunately, doesn't work */
            height: 50px;       /* <- unfortunately, doesn't work */
        }
    """)

#####################################################
#               THE PYQT APPLICATION                # …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt python-3.x pyqt5

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

原始python字符串中的回车

对于一些语法高亮实验,我在Python 3.6 中创建了以下原始字符串(请注意,字符串本身包含一段 C 代码,但现在这并不重要):

    myCodeSample = r"""#include <stdio.h>

    int main()
    {
        char arr[5] = {'h', 'e', 'l', 'l', 'o'};

        int i;
        for(i = 0; i < 5; i++) {
            printf(arr[i]);
        }
        return 0;
    }"""
Run Code Online (Sandbox Code Playgroud)

我注意到每一行都以 Unix 风格的\n换行符结尾。但我实际上希望 - 为了我的实验 - 让每一行都以 Windows 风格的\r\n换行符结尾。有没有办法优雅地做到这一点?

python regex carriage-return

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

Python:无法使用 tinydb 读取 json 文件

我有以下 json 文件:

标签.tg

[{"_type": "tag", "name": "A0", "path": "Drivers\\CMSIS\\Include\\arm_math.h", "pattern": "/^    float32_t A0;          \\/**< The derived gain, A0 = Kp + Ki + Kd . *\\/$/", "typeref": "float32_t", "kind": "member", "scope": "__anond9a59aba0f08", "scopeKind": "struct"},
{"_type": "tag", "name": "A0", "path": "Drivers\\CMSIS\\Include\\arm_math.h", "pattern": "/^    q15_t A0;           \\/**< The derived gain, A0 = Kp + Ki + Kd . *\\/$/", "typeref": "q15_t", "kind": "member", "scope": "__anond9a59aba0d08", "scopeKind": "struct"},
{"_type": "tag", "name": "A0", "path": "Drivers\\CMSIS\\Include\\arm_math.h", "pattern": "/^    q31_t A0;            \\/**< The derived gain, …
Run Code Online (Sandbox Code Playgroud)

python json tinydb

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

如何识别大型C项目中的"死c文件"?

注意:在将此标记为重复之前,请阅读整个问题,
尤其是第5章:-)

1.用例

假设你有一个大型的C-项目与众多.h和.c文件.但大多数文件从未使用过.这通常是嵌入式软件项目的情况.微控制器的每个外围设备的驱动程序都存在于项目的某个位置,但您通常只使用其中的一些.如果 - 例如 - 我使用usb驱动程序和uart驱动程序,我将导入我的相应.h文件main.c:

#include "stm32f7xx_usb.h"
#include "stm32f7xx_uart.h"
Run Code Online (Sandbox Code Playgroud)

好的......我过度简化了用例,但你明白了.

 

2.死文件

让我们就死文件的以下快速和脏定义达成一致:

死.c文件是永远不会到达函数或数据的文件,因为.h不导入相应的文件.

我知道,这是一个非常不洁的定义.文件.c和.h文件之间并不总是存在一对一的关系.所以也许我应该说:

一.c,如果没有它的功能/数据通过一个或多个进口暴露的文件已经死了.h的文件.

通常在嵌入式软件中,我们将这些import语句包含在一个#ifdef块中:

#ifdef USE_USB
    #include "stm32f7xx_usb.h"
#endif
Run Code Online (Sandbox Code Playgroud)

这意味着状态"dead"或"alive"可以在编译时更改,具体取决于编译时注入的预处理器宏.因此,让我们假设在编译时注入的所有预处理器宏都是已知的.它们可以简单地在makefile中找到.

 

3.最终目标:
    在编译之前区分死文件

有时其中一个死文件有错误.当错误冻结整个编译过程时非常令人沮丧 - 特别是因为无论如何都不会使用该文件.在编译之前知道哪些文件已经死了,可能非常有用.
但我真的不知道可以使用什么工具.如何.

PS:当然,无论如何都应该运行某种预编译器或解析器.但那没关系.

 

4.不太有利的目标:
    编译后区分死文件

我想我越来越接近这个目标了,但我还没有.我会告诉我现在的位置.

传递参数-ffunction-sections和-fdata-sectionsgcc编译器会在生成的目标文件中产生干净分离的函数和数据块.
接下来,我传递参数-Wl,--gc-sections和-Wl,--print-gc-sections海湾合作委员会链接.链接器启动所有不可缓存的数据和函数,从而产生更小的二进制文件.此外,链接器打印出他扔掉的东西:

...
ld.exe: Removing unused section '.text.HAL_UART_Receive_IT' in file …
Run Code Online (Sandbox Code Playgroud)

c linker gcc makefile gnu-make

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

你能打开一个jar文件,更改一些图标,然后再关闭它吗?

这个问题源于Eclipse中的旧痛苦.高dpi显示屏上的图标太小.在文件系统中搜索图标(可能是.png或.gif文件)也无济于事.它们隐藏在Eclipse jar文件中.

在此输入图像描述

幸运的是,最新的Neon版本有望解决这个问题.然而,如果我能够触及图标并调整它们,我会很激动.让编程环境完全自定义会非常有趣.

是否可以打开一个jar文件,取出一些图标,用你自己的替换它们,关闭jar文件并启动Eclipse?

或者是在Github上某处下载整个Eclipse源代码并从头开始编译所有内容的唯一方法(使用您自己的图标替换原始图标)?如果这是唯一的可能性,那么我就放弃了(除非我可以在某个地方获得如何构建它的教程).

编辑:显然,你不能只是改变jar中的一些文件,因为这会弄乱'签名'.Eclipse将不再运行您已更改的插件jar.有人将我重定向到以下StackOverflow主题,该主题描述了如何取消签名jar文件: 取消签名一个签名的jar

当您对jar文件进行签名时,新文件将添加到META-INF目录中,例如"MKSIGN.SF"和"MKSIGN.DSA".只需将它们从jar文件中删除(使用任何zip实用程序),然后将其保留为未签名.

我遵循了这个建议,但没有帮助.Eclipse仍然拒绝运行我改变过的任何插件jar.

编辑:这些是我在jar文件中删除的文件:

  • META-INF/ECLIPSE_.SF
  • META-INF/ECLIPSE_.RSA

java eclipse eclipse-plugin jar

0
推荐指数
1
解决办法
301
查看次数

标签 统计

python ×3

c ×1

carriage-return ×1

eclipse ×1

eclipse-plugin ×1

gcc ×1

gnu-make ×1

jar ×1

java ×1

json ×1

linker ×1

makefile ×1

pyqt ×1

pyqt5 ×1

python-3.x ×1

qt ×1

regex ×1

tinydb ×1