将文件加载到QMediaPlayer实例时,它不会自动缓冲文件.该MediaStatus遗体NoMedia直到您使用播放文件play(),只有在这之后将最终成为BufferedMedia.我在文档中找不到任何方法来强制播放器缓冲文件而不播放它 - 有什么办法可以做到这一点吗?
现在我打算将它静音,播放文件,然后再次停止并取消静音,但这让我觉得很脏.当然有更好的方法来做到这一点?
顺便说一下,这是必要的,因为duration在文件被缓冲之前我无法检索,我需要在轨道中duration选择a position来开始播放.
谢谢
这让我发疯。QTabBar的文档说:
无效的QTabBar :: tabBarDoubleClicked(int index)[signal]
当用户双击索引的选项卡时,将发出此信号。 index是指单击的选项卡,如果光标下没有选项卡,则为-1。
因此,当我双击选项卡栏时,它不应该返回-1吗?
只需清楚一点,红色框中的位是我试图双击的位置,也是我认为应该返回的位置-1。当我双击选项卡时,它将返回选项卡索引,因此我知道它可以正常工作。

但是,从技术上讲,红色方框中的位还是不是选项卡栏吗?还是标签栏会随着添加标签而展开?如果是这样,是否有办法使其扩展以水平填充窗口?
我正在尝试通过双击选项卡栏实现添加一个选项卡。我还有其他方法可以解决这个问题吗?
我做了一个示例程序来说明问题.在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) 简化的测试用例:我有一个带有两个参数的脚本.第一个是整数列表.第二个是一个整数,必须包含在第一个参数的整数集中.
例如:
$ 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)