小编p-a*_*l-o的帖子

如何在python请求库中实现重试机制?

我想为python请求库添加一个重试机制,因此使用它的脚本将重试非致命错误.

此刻我确实认为有些错误是可以恢复的:

  • HTTP返回码502,503,504
  • 主机未找到(现在不太重要)
  • 请求超时

在第一阶段,我确实想每分钟重试指定的5xx请求.

我希望能够透明地添加此功能,而无需为使用python-requests的这些脚本或库中的每个HTTP调用手动实现恢复.

python http python-requests

34
推荐指数
5
解决办法
2万
查看次数

为什么在Python版本之间播种随机生成器不稳定?

我试图在random.random()安装了不同python3版本的不同系统上重现python的随机序列.

这应该很容易,因为文档说:

大多数随机模块的算法和种子函数都会在Python版本中发生变化,但保证两个方面不会改变:

  • 如果添加了新的播种方法,则将提供向后兼容的播种机.
  • 当兼容的播种机被赋予相同的种子时,生成器的random()方法将继续产生相同的序列.

所以我希望下面的代码总是打印相同的10个数字,无论具体的python3版本如何:

import sys
print(sys.version)

from random import seed, random

seed(str(1))
for i in range(10):
    print(random())
Run Code Online (Sandbox Code Playgroud)

但是,在两台不同的机器上进行测试:

3.2.3 (default, May  3 2012, 15:51:42) 
[GCC 4.6.3]
0.4782479962566343
0.044242767098090496
0.11703586901195051
0.8566892547933538
0.2926790185279551
0.0067328440779825804
0.0013279506360178717
0.22167546902173108
0.9864945747444945
0.5157002525757287
Run Code Online (Sandbox Code Playgroud)

3.1.2 (release31-maint, Dec  9 2011, 20:59:40)  
[GCC 4.4.5]
0.0698436845523
0.27772471476
0.833036057868
0.35569897036
0.36366158783
0.722487971761
0.963133581734
0.263723867191
0.451002768569
0.0998765577881
Run Code Online (Sandbox Code Playgroud)

给出不同的结果.

为什么是这样?有没有办法让它工作(即两次获得相同的随机序列?)

python random seed python-3.x

22
推荐指数
2
解决办法
2741
查看次数

如何在 Qt 样式表中使用嵌入字体?

我在 .qrc 资源文件中添加了字体名称“:font/Oswald-Regular.ttf”。我想在我的 Qt 样式表中为所有 QLabel 使用它。

这是 Arial 的代码:

QLabel
{
color: white;
font: 10pt "Arial";
}
Run Code Online (Sandbox Code Playgroud)

c++ qt stylesheet qtstylesheets

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

你如何从 sip.voidptr (QImage.constBits()) 到 ctypes void 或 char 指针?

我正在使用 python,当然你不能很快地遍历大图像的每个像素,所以我遵循 C DLL。

我想做这样的事情:

img = QImage("myimage.png").constBits()
imgPtr = c_void_p(img)
found = ctypesDLL.myImageSearchMethod(imgPtr, width, height)
Run Code Online (Sandbox Code Playgroud)

但是这一行 imgPtr = c_void_p(img) ylds

builtins.TypeError:无法转换为指针

我不需要修改位。请教我你在这方面的绝地方法。

python qt ctypes pyqt python-3.x

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

使 QLabel 宽度与文本无关

我需要一个QLabel其宽度不应该适应所包含的文本,但可以由用户调整大小(或者确切地说是布局)。如果文本对于宽度而言太长,QLabel则只需将其剪掉即可。

这个问题在某种程度上与How to make QLabel Expand width Geometry to Accommodation text相反 。然而,这个问题的内容对我没有帮助。在布局中的 QLabel 上设置文本也没有调整大小。

背景

QLabel显示来自另一个系统的标识符(单个单词)。有时这些标识符每秒会改变很多次,这使得整个布局闪烁。它QLabel是垂直码头的一部分,因此码头的宽度会闪烁。

另一方面,应该由用户决定他/她可以看到多少标识符。所以我想允许用户更改扩展坞的宽度,以便扩展坞的宽度QLabel适应该宽度。

解决方案尝试

为了实现这一目标,我设置了水平尺寸策略QSizePolicy::Preferred并派生了我自己的标签类,QLabel我已重写该标签类sizeHint()以返回固定尺寸。但这并没有改变行为。

我知道我可以申请QFontMetrics计算文本的宽度,然后将其剪掉以适合宽度QLabel。但这似乎不是正确的解决方案,特别是因为我希望将最后一个字母本身剪掉(如果它不完全适合),以便向用户提供标识符太长而无法显示的线索。

版本

  • Qt 5.5.1
  • 海湾合作委员会5.4.0
  • 全部来自当前的 Ubuntu 16.04 存储库

c++ qt qwidget qlabel qt5

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

Qt同步QNetworkAccessManager得到

执行同步QNetworkAccessManager :: get的正确方法是什么?

QT维基提供了一个方法,但指出:"我们不建议在实际应用中使用这个." 该邮件列表提供了一个类似的解决方案的wiki.

qt http-get synchronous qtnetwork

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

Qt 如何选择默认样式?

在 Qt GUI 应用程序中,QApplication::style()->objectName()将返回当前样式,例如“windowsvista”。

它如何/在哪里选择此默认样式,以及它使用哪些信息来决定?

c++ qt qstyle qapplication

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

如何在 SQLite3 中使用 Qt QSqlDriver::subscribeToNotification?

我正在编写一个 Qt 应用程序,其中不同的模型可以插入/删除/更新同一个表。当一个模型更改数据库时,我希望其他模型收到更改通知,以便他们可以相应地更新其视图。

似乎在 SQLite 中监视插入、删除和更新的最佳方法是使用QSqlDriver::subscribeToNotification通知信号然后对其做出反应。我知道语法是这样的:

db.driver()->subscribeToNotification("anEventId");
Run Code Online (Sandbox Code Playgroud)

但是,我不确定是什么anEventId意思。是anEventIdSQLite 提供的常量还是我使用触发器或其他东西将这些特定事件编码到 SQLite 中,然后订阅它们?

c++ sqlite notifications qt

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

在 QML 代码中获取 Qt 版本的全局函数或宏

如何5.11.2在我的 QML 代码中获得 Qt 版本,例如或类似版本。在我的 C++ 代码中,我有这些选项:

C++ 上可用的方法:

qVersion();
Run Code Online (Sandbox Code Playgroud)

C++ 上可用的宏:

QT_VERSION
Run Code Online (Sandbox Code Playgroud)

但是我在 QML 上找不到任何东西?

c++ qt qml

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

ffmpeg:“未找到引用的 QT 章节轨道”

用于ffmpeg将 QuickTime 中的音频替换为 WAV 中的音频。

有人知道我为什么会这样吗Referenced QT chapter track not found

命令:

$ ffmpeg \ -i "$video" -t 25 \ -i "$audio" -map 0:v -c:v copy -map 1:a -c:a pcm_s24le -ar 48000 \ -hide_banner "$output"

输出:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7faf62010600] Referenced QT chapter track not found
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2018-11-06T09:27:43.000000Z
  Duration: 00:00:25.00, start: 0.000000, bitrate: 186987 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), …
Run Code Online (Sandbox Code Playgroud)

quicktime ffmpeg

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