我正在尝试将一个简单的C程序转换为Python,但由于我对C一无所知,而对Python有点了解,这对我来说很难.
我坚持使用C指针.
有一个函数接受unsigned long int指针并将其值添加到while循环中的某些变量:
uint32_t somename(const uint32_t *z) {
while(....) {
a += z[0]
b += z[1]
c += z[2]
z += 3
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何在python中完成同样的事情吗?(我根本不理解的部分是"z + = 3")
我知道python中没有指针.(至少不像C)但问题是我不知道C指针究竟做了什么,因此不能在python中实现这一点.
我正在尝试使用PyQt为名为"HandBrake"的视频转换器应用程序构建一个简单的gui.
我的问题是,当我选择要转换的视频文件时,子进程Popen启动手刹应用程序并使用必要的args但在等待手刹完成时gui被阻止,所以我无法做任何更改.(例如:我无法禁用pushButton也不能更改其文本)
我不是在寻找更复杂的解决方案,比如进度条等.但我想在等待程序完成转换时,只需禁用按钮并更改其文本.
我怎么能用python和pyqt做这样的事情?
def videoProcess():
self.pushButton.setEnabled(0)
self.pushButton.setText("Please Wait")
command = "handbrake.exe -i somefile.wmv -o somefile.mp4"
p = subprocess.Popen(str(command), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while 1:
line = p.stdout.readline()
if not line:
self.pushButton.setEnabled(1)
break
Run Code Online (Sandbox Code Playgroud)