小编Tho*_*mas的帖子

有没有办法在Qt中强制QMediaPlayer缓存文件而不播放它?

将文件加载到QMediaPlayer实例时,它不会自动缓冲文件.该MediaStatus遗体NoMedia直到您使用播放文件play(),只有在这之后将最终成为BufferedMedia.我在文档中找不到任何方法来强制播放器缓冲文件而不播放它 - 有什么办法可以做到这一点吗?

现在我打算将它静音,播放文件,然后再次停止并取消静音,但这让我觉得很脏.当然有更好的方法来做到这一点?

顺便说一下,这是必要的,因为duration在文件被缓冲之前我无法检索,我需要在轨道中duration选择a position来开始播放.

谢谢

qt qmediaplayer

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

QTabBar的tabBarDoubleClicked(int)为什么不双击标签栏?

这让我发疯。QTabBar的文档说:

无效的QTabBar :: tabBarDoubleClicked(int index)[signal]

当用户双击索引的选项卡时,将发出此信号。 index是指单击的选项卡,如果光标下没有选项卡,则为-1。

因此,当我双击选项卡栏时,它不应该返回-1吗?

只需清楚一点,红色框中的位是我试图双击的位置,也是我认为应该返回的位置-1。当我双击选项卡时,它将返回选项卡索引,因此我知道它可以正常工作。 应用程序窗口

但是,从技术上讲,红色方框中的位还是不是选项卡栏吗?还是标签栏会随着添加标签而展开?如果是这样,是否有办法使其扩展以水平填充窗口?

我正在尝试通过双击选项卡栏实现添加一个选项卡。我还有其他方法可以解决这个问题吗?

c++ qt tabs

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

在C中的函数调用内为指针分配内存

我做了一个示例程序来说明问题.在test我分配内存foo以存储两个整数.然后,我将每个整数设置为一个值,然后我打印它们.非常简单,除非我只能在整数中为整数赋值main- 当我在里面做它时它将无法工作test.


此代码有效:

#include <stdio.h>
#include <stdlib.h>

void test(int **foo) {
    *foo = malloc(2 * sizeof(int));
}

int main() {
    int *foo;

    test(&foo);

    foo[0] = 4;  // <---
    foo[1] = 3;  // <---

    printf("foo[0]: %d\n", foo[0]);
    printf("foo[1]: %d\n", foo[1]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

foo[0]: 4
foo[1]: 3
Run Code Online (Sandbox Code Playgroud)

此代码不会:

#include <stdio.h>
#include <stdlib.h>

void test(int **foo) {
    *foo = malloc(2 * sizeof(int));  // 3.
    *foo[0] = 4;  // 4. <---
    *foo[1] = 3; …
Run Code Online (Sandbox Code Playgroud)

c

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

如何在Python的argparse中对同一组参数调用两次parse_args()?

简化的测试用例:我有一个带有两个参数的脚本.第一个是整数列表.第二个是一个整数,必须包含在第一个参数的整数集中.

例如:

$ python argtest.py --valid_nums 1 2 3 --num 2
Run Code Online (Sandbox Code Playgroud)

应该工作,但是:

$ python argtest.py --valid_nums 1 2 3 --num 4
Run Code Online (Sandbox Code Playgroud)

不应该工作,因为num不是in valid_nums.但是,我遇到了一些困难(阅读:我怀疑它比它的价值更麻烦,但我真的希望它能够工作)实现这个功能.

实施尝试:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--valid_nums',
                    type=int,
                    nargs='+')

args = parser.parse_args()
print "Numbers: ", args.valid_nums


parser.add_argument('--num',
                    type=int,
                    choices=args.valid_nums)

args = parser.parse_args()
print args
Run Code Online (Sandbox Code Playgroud)

实际产量:

$ python argtesttest.py --valid_nums 1 2 3 --num 2
usage: argtesttest.py [-h] [--valid_nums VALID_NUMS [VALID_NUMS ...]]
argtesttest.py: error: unrecognized arguments: --num 2
Run Code Online (Sandbox Code Playgroud)

期望的输出:

$ python argtesttest.py --valid_nums 1 …
Run Code Online (Sandbox Code Playgroud)

python argparse

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

标签 统计

qt ×2

argparse ×1

c ×1

c++ ×1

python ×1

qmediaplayer ×1

tabs ×1