![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图形化界面
文章平均质量分 54
我还能抢救一下
这个作者很懒,什么都没留下…
展开
-
QCompleter 自定义补全规则
QCompleter可以结合QLineEdit和QComboBox进行输入补全的工作。QCompleter可以通过setFilterMode传入Qt.MatchStartsWith/Qt.MatchContains/Qt.MatchEndsWith三种参数,分别对应字符串头部匹配、包含匹配、尾部匹配三种不同的功能,但是无法通过传入自定义的正则表达式进行匹配补全。为了解决这个问题,需要对QCompleter重载,通过修改其中的updateModel方法,利用filterProxyModel.setFilter原创 2021-01-05 15:17:15 · 1726 阅读 · 1 评论 -
PyQT5 QMdiArea和子窗口QMdiSubWindow利用信号通信
对于利用QMdiArea构建的主窗口进程,如果主进程中的数据改变,则在对应的子窗口QMdiSubWindow中显示对应的数据。这里通过主进程对Queue监测,如果Queue非空,则从队列中put该值,并将该值以信号量的方式发送给对应的线程,并在线程中找到子窗口对应的对象,对对象中相应的控件进行修改。main.pyfrom ui_demo import MainWindowfrom PyQt5.QtWidgets import QApplicationfrom multiprocessing i原创 2020-11-24 16:02:17 · 1900 阅读 · 0 评论 -
PyQt使用ICE框架实现通信
网上关于使用PyQt和ICE实现信息通信的资料较少,通常都是在C++中构建子类继承qt库的UI类和ICE的client类,在启动时在子类中的run方法显示可视化界面。这种方法数据间传递比较复杂,同时PyQt的框架语法和C++版本的QT存在一定区别,所以为了实现这个功能,可以采用生成两个子进程,其中一个进程跑QT界面,一个进程跑ICE的Client客户端,两个进程间通过Queue来进行通信。大体框架如下:main函数:from client import Clientfrom multipro原创 2020-11-20 15:13:43 · 320 阅读 · 0 评论