python+opencv+wxPython ,用opencv读取视频帧,将读取到的视频帧显示子wxPython控件上

python+opencv+wxPython ,用opencv读取视频帧,将读取到的视频帧显示子wxPython控件上,第1张

建议还是用pyqt吧~网上很多文档,wx怎么都感觉麻烦,而且维护也不好~

况且pyqt本身的demos就可以参考到一定水平了!

第一次用pyqt做线程和sleep的时候用的是py自带的,能运行,但是经常出错

后来发现必须用qt自己那个什么模式,给你参考一下

class T_login(QtCore.QThread):

def run(self):

self.emit(QtCore.SIGNAL(loginfun(QString)),fun)

self.dologin = T_login()

self.connect(self.dologin, QtCore.SIGNAL(loginfun(QString)), self.do_login)

其他的都差不多

wxpython:

# 使用wx.Image得到对象

bmp = wx.Image('bitmaps/image.bmp', wx.BITMAP_TYPE_BMP).ConvertToBitmap()

gif = wx.Image('bitmaps/image.gif', wx.BITMAP_TYPE_GIF).ConvertToBitmap()

png = wx.Image('bitmaps/image.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap()

jpg = wx.Image('bitmaps/image.jpg', wx.BITMAP_TYPE_JPEG).ConvertToBitmap()

# 把它们显示出来

pos = 10

wx.StaticBitmap(frame, -1, bmp, (10, pos), (bmp.GetWidth(), bmp.GetHeight()))

pos = pos + bmp.GetHeight() + 10

wx.StaticBitmap(frame, -1, gif, (10, pos), (gif.GetWidth(), gif.GetHeight()))

pos = pos + gif.GetHeight() + 10

wx.StaticBitmap(panel, -1, png, (10, pos), (png.GetWidth(), png.GetHeight()))

pos = pos + png.GetHeight() + 10

wx.StaticBitmap(frame, -1, jpg, (10, pos), (jpg.GetWidth(), jpg.GetHeight()))

具体的请根据你的实际情况修改,最好去http://www.wxpython.org/download.php#binaries

下载wxpython和wxpython demo看看,这个demo很强大的。

这个非常简单,PyQt就可以轻松实现,一个基于Qt的接口包,可以直接拖拽控件设计UI界面,下面我简单介绍一下这个包的安装和使用,感兴趣的朋友可以自己尝试一下:

1.首先,安装PyQt模块,这个直接在cmd窗口输入命令“pipinstallpyqt5”就行,如下,整个模块比较大,下载过程需要等待一会儿,保持联网:

2.安装完成后,我们就可以直接打开Qt自带的QtDesigner设计师设计界面了,这里默认会安装到site-packages->PyQt5->Qt->bin目录,打开后的界面如下,可以直接新建对话框等窗口,所有的控件都可以直接拖拽,编辑属性,非常方便:

3.这里我简单的设计了一个登录窗口,2个输入框和2个按钮,如下,这里可以直接使用QSS对界面进行美化(设置styleSheet属性即可),类似网页的CSS,如果你有一定的前端基础,那么美化起来会非常容易:

设计完成后,还只是一个ui文件,不是现成的Python代码,还需要借助pyuic5工具(也在bin目录下)才能将ui文件转化为Python代码,切换到ui文件所在目录,输入命令“pyuic5-ologin.pylogin.ui”即可(这里替换成你的ui文件),转化成功后的Python代码如下(部分截图):

还需要在最下面添加一个main函数,创建上面Ui_Form类对象显示窗口即可,如下:

最后点击运行程序,效果如下,和刚才设计的界面效果一模一样:

至此,我们就完成了利用Python的PyQt模块直接拖拽控件来设计UI界面。总的来说,整个过程非常简单,只要你有一定的Python基础,熟悉一下 *** 作过程,很快就能掌握的,当然,还有许多其他UI开发模块,像tkinter,wxPython,Eric6等,也都非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11611538.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存