Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[问题]QtabWidget 是否与Qwidget相冲突? #62

Closed
HXChow opened this issue Jul 14, 2019 · 9 comments
Closed

[问题]QtabWidget 是否与Qwidget相冲突? #62

HXChow opened this issue Jul 14, 2019 · 9 comments
Labels

Comments

@HXChow
Copy link

HXChow commented Jul 14, 2019

Environment : / 环境
OS: Win10
Python 3.7.2 x64
PyQt5 5.11.3]

弄了一个widget,将其提升为myVideoWidget来播放视频
但是在实际运行时这个控件出了问题
这是在QT designer预览的样子
image
运行时切换上面红线的tab界面会导致这个控件将其他tab相对应的区域的界面截取下来
效果是这样的
image
把其他tab的区域截取了下来。就出了这个显示问题,其他功能一切正常
请问该如何解决这个问题,最近问题比较多轻喷,望不吝赐教

@HXChow
Copy link
Author

HXChow commented Jul 14, 2019

抱歉忘记添加题目了

@HXChow HXChow changed the title [问题] [问题]QtabWidget 是否与Qwidget相冲突? Jul 14, 2019
@892768447
Copy link
Member

QTabWidget没有这个问题啊,具体看下你代码里怎么切换tab的

@HXChow
Copy link
Author

HXChow commented Jul 14, 2019

QTabWidget没有这个问题啊,具体看下你代码里怎么切换tab的

https://github.com/HXChow/project

Setup.py 里面的59-50行,138-152行
还有 myVideoWidget.py
上面是关于这个播放窗口的代码
image

@892768447
Copy link
Member

单独测试MainUI.py 在最底部添加代码,运行MainUI.py测试切换没有出现问题,
检查下Setup.py中或者其他功能代码中是否逻辑错误。或者重新添加了widget进去

if __name__ == '__main__':
    import sys
    from PyQt5.QtWidgets import QApplication
    app = QApplication(sys.argv)
    widget = QtWidgets.QMainWindow()
    w = Ui_MainWindow()
    w.setupUi(widget)
    widget.show()
    sys.exit(app.exec_())

@HXChow
Copy link
Author

HXChow commented Jul 14, 2019

单独测试MainUI.py 在最底部添加代码,运行MainUI.py测试切换没有出现问题,
检查下Setup.py中或者其他功能代码中是否逻辑错误。或者重新添加了widget进去
if name == 'main':
import sys
from PyQt5.QtWidgets import QApplication
app = QApplication(sys.argv)
widget = QtWidgets.QMainWindow()
w = Ui_MainWindow()
w.setupUi(widget)
widget.show()
sys.exit(app.exec_())

单独测试没问题
self.player.setVideoOutput(self.widget)
把这一条注释掉就不会出现这些问题,但是这又是播放视频的关键代码
涉及到播放代码除了上述的地方外还有一个是将合成后的视频自动在widget上预览的槽函数
image
图里的Update3就是自动预览的槽函数,但是这也不影响

@892768447
Copy link
Member

你把代码单独放到MainUi.py里去测试。并没有发现有异常。甚至可以播放下视频试试

self.player = QMediaPlayer()
self.player.setVideoOutput(self.widget)  # 视频播放输出的widget

@HXChow
Copy link
Author

HXChow commented Jul 14, 2019

你把代码单独放到MainUi.py里去测试。并没有发现有异常。甚至可以播放下视频试试
self.player = QMediaPlayer()
self.player.setVideoOutput(self.widget) # 视频播放输出的widget

单独放进去出现先前的情况
我在想是不是要用多线程来解决问题,有没有可行性?

@892768447
Copy link
Member

  1. 这个就不清楚了,一般来说先测试能否正常显示界面:如单独运行MainUI.py
  2. 在单独把QMediaPlayer加入进去测试播放视频有没有问题

你按照上面的先测试简单功能。主要是你的代码依赖太多我没法测试

@HXChow
Copy link
Author

HXChow commented Jul 14, 2019

这个就不清楚了,一般来说先测试能否正常显示界面:如单独运行MainUI.py
在单独把QMediaPlayer加入进去测试播放视频有没有问题

你按照上面的先测试简单功能。主要是你的代码依赖太多我没法测试

self.player = QMediaPlayer()
self.player.setVideoOutput(self.widget) # 视频播放输出的widget
单独放进去测试加这两行就不能正常显示了
然后再加入播放功能测试,测试结果正常,视频能播放

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants