zoukankan      html  css  js  c++  java
  • PyQt5 问题集

    PyQt5中遇到的一些问题

    1、多线程中界面异步刷新

    我这里需要给界面动态添加新的控件,但是多线程中似乎并不能直接更新页面?
    对于逻辑和界面分离的情况,使用自定义信号的方式进行页面控件的动态添加。注意使用的时候,_trigger 必须是一个类的对象。
    如果想调用传入函数,可使用lambda自己定义。

    class A(...):
    	_trigger = pyqtSignal(object, dict)
    	def __init__(self):
    		...
    		self.window = Window()
    		self._trigger.connect(lambda fuc, arg: fuc(arg))  # 调用fuc函数,传参arg
    	
    	def update(self, my_dict):
    		self.window.addWidget(QLaebl(my_dict['name']))
    	def my_run():
    		...
    		self._trigger.emit(self.update, {'name':'1'})
    

    2、保持QProgressBar在最底端

    ScrollBar().rangeChanged.connect(lambda :ScrollBar().setValue(ScrollBar().maximum()))
    

    3、QProgressBar在进度条上面显示文字

    bar.setFormat('Loading...')  
    bar.setAlignment(Qt.AlignCenter)
    
  • 相关阅读:
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
    volcanol的工控博客
  • 原文地址:https://www.cnblogs.com/KirinSB/p/13364753.html
Copyright © 2011-2022 走看看