Giter Site home page Giter Site logo

pyqt5's People

Contributors

cxinping avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyqt5's Issues

Chapter09的MatplotlibWidget.py文件运行报错

在Chapter09的MatplotlibWidget.py文件运行报错,信息如下: File "C:\Users\bisho\Downloads\Compressed\PyQt5-master\PyQt5-master\Chapter09\MatplotlibWidget.py", line 27, in init self.axes.hold(False) # 每次绘图的时候不保留上一次绘图的结果 AttributeError: 'AxesSubplot' object has no attribute 'hold'。
这是matplotlib的问题吗?请问具体怎么解决?

eric6窗体文件编译失败

在win10 64位系统上,使用仓库中百度云分享压缩包的开发环境。
版本 Windows 10 专业版
版本号 21H2
安装日期 ‎2021/‎10/‎27
操作系统内部版本 19044.1620
体验 Windows Feature Experience Pack 120.2212.4170.0

eric6

采用方案绕开:
新建一个pyuic_Scanner_main.bat文件,内容如下Scanner_main.ui为要编译的窗体的名字

@D:/WinPyQt5.9-32bit-3.5.3.1/python-3.5.3\python.exe -m PyQt5.uic.pyuic -o Scanner_main.py Scanner_main.ui

双击bat文件,运行,得到Scanner_main.py 这一窗体编译结果。

书本错字

4.2.2 名称是常用的几何机构
应该是
常用的几何结构

8-1 WinDraw01, 右键和中键也可以画图, 建议修改条件

def mouseMoveEvent(self, event):
# 鼠标左键按下的同时移动鼠标
if event.buttons() and Qt.LeftButton :
self.endPoint = event.pos()
#进行重新绘制
self.update()

这个条件 if 的两项在使用中键右键拖动同样触发, 应该要像其他几个判断一样 == 就好了,

书中案例8-3(双缓存绘图)代码疑似有误,QPixmap应该用深拷贝吧?

书中案例8-3(双缓存绘图)代码看意图是否以下此处需改为 深拷贝:

PyQt5/Chapter08/qt08_winDraw03.py

目前为:
# 将以前pix中的内容复制到tempPix中,保证以前的内容不消失
self.tempPix = self.pix

是否应改为 :
# 将以前pix中的内容复制到tempPix中,保证以前的内容不消失
self.tempPix = self.pix.copy(self.pix.rect())

否则按目前的形式感觉导致 tempPix 和 pix 引用(操作)的其实是同一块内存。

安装Eric出错

报错
RuntimeError: the sip module implements API v12.0 to v12.6 but the PyQt5.QtWebEngineWidgets module requires API v12.7

pyqt5版本更新之后刷新速度变慢了10倍

pyqt版本从5.11.3 更新到 PyQt5-5.14.0之后如下代码相同的刷新数据,更新速度变慢了10倍
版本 5.14
2019-12-30 10:36:03.627884
2019-12-30 10:36:03.828350
版本 5.11
2019-12-30 10:38:07.485788
2019-12-30 10:38:07.512682
不知道出了什么情况
`

主程序

class QtGuiThreadBackend(QThread):
"""更新数据类"""
update = pyqtSignal(dict)

def __init__(self, log, share_dict, freq=0.5, parent=None):
    super().__init__(parent)
    self.log = log

    # 刷新频率
    self.freq = freq
    # 通讯端口
    self.share_dict = share_dict

def run(self):
    while True:
        display_dict = self.share_dict.copy()
        self.update.emit(display_dict)
        self.log.info("update gui display data!")
        sleep(self.freq)

`

`
from datetime import datetime
from time import sleep

from PyQt5.QtCore import pyqtSignal, QThread, QCoreApplication
from .ConsoleETFOptionSingle import ModQtGuiConsole as RiskConsole
from ..iGuiDesigner.RiskMain import Ui_MainWindow

class QtGuiFrontend(Ui_MainWindow):
def init(self, main_windows, share_dict, map_list):
self.setupUi(main_windows)

    self.share_dict = share_dict
    self.risk_console_1 = self.init_risk_console_1("gui_console_dict_rv1", self.share_dict, map_list)

    # 50ETF 510050 标的切换
    self.radioButtonA1.setChecked(True)
    self.radioButtonA3.setChecked(True)
    self.radioButtonA5.setChecked(True)
    self.radioButtonA7.setChecked(True)
    self.pushButtonA1.clicked.connect(self.run_pushButtonA1)
    self.run_pushButtonA1()

    # 300ETF 510300 标的切换
    self.radioButtonB1.setChecked(True)
    self.radioButtonB3.setChecked(True)
    self.radioButtonB5.setChecked(True)
    self.radioButtonB7.setChecked(True)
    self.pushButtonB1.clicked.connect(self.run_pushButtonB1)
    self.run_pushButtonB1()

    # 300ETF IO 标的切换
    self.radioButtonC1.setChecked(True)
    self.radioButtonC3.setChecked(True)
    self.radioButtonC5.setChecked(True)
    self.radioButtonC7.setChecked(True)
    self.radioButtonC9.setChecked(True)
    self.radioButtonC11.setChecked(True)
    self.pushButtonC1.clicked.connect(self.run_pushButtonC1)
    self.run_pushButtonC1()

    # 300ETF IO 标的切换
    self.radioButtonD1.setChecked(True)
    self.radioButtonD3.setChecked(True)
    self.radioButtonD5.setChecked(True)
    self.radioButtonD7.setChecked(True)
    self.pushButtonD1.clicked.connect(self.run_pushButtonD1)
    self.run_pushButtonD1()

def init_risk_console_1(self, name, share_dict, map_list):
    risk_console = RiskConsole(name, share_dict, map_list)
    risk_console.setupUi(self.tab)

    risk_console.init_pos_table()
    risk_console.init_future_table()
    risk_console.init_button()
    risk_console.init_greeks_table()
    return risk_console

def set_ui_title(self, MainWindow, title_name):
    _translate = QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", title_name))

def run_pushButtonA1(self):
    """
    标的切换

    :return:
    """
    pcp_flag = [True, True, True, True]

    if self.radioButtonA1.isChecked():
        pcp_flag[0] = True
    else:
        pcp_flag[0] = False

    if self.radioButtonA3.isChecked():
        pcp_flag[1] = True
    else:
        pcp_flag[1] = False

    if self.radioButtonA5.isChecked():
        pcp_flag[2] = True
    else:
        pcp_flag[2] = False

    if self.radioButtonA7.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    self.risk_console_1.t1_dict["pcp_flag"] = pcp_flag
    self.share_dict["gui_console_dict_rv1"] = self.risk_console_1.share_dict

    self.statusbar.showMessage('Modify Underlying Type {}'.format(
        datetime.now().strftime("%Y-%m-%d %H:%M%S %f")))

def run_pushButtonB1(self):
    """
    标的切换

    :return:
    """
    pcp_flag = [True, True, True, True]

    if self.radioButtonB1.isChecked():
        pcp_flag[0] = True
    else:
        pcp_flag[0] = False

    if self.radioButtonB3.isChecked():
        pcp_flag[1] = True
    else:
        pcp_flag[1] = False

    if self.radioButtonB5.isChecked():
        pcp_flag[2] = True
    else:
        pcp_flag[2] = False

    if self.radioButtonB7.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    self.risk_console_1.t2_dict["pcp_flag"] = pcp_flag
    self.share_dict["gui_console_dict_rv1"] = self.risk_console_1.share_dict

    self.statusbar.showMessage('Modify Underlying Type {}'.format(
        datetime.now().strftime("%Y-%m-%d %H:%M%S %f")))

def run_pushButtonC1(self):
    """
    标的切换

    :return:
    """
    pcp_flag = [True, True, True, True, True, True]

    if self.radioButtonC1.isChecked():
        pcp_flag[0] = True
    else:
        pcp_flag[0] = False

    if self.radioButtonC3.isChecked():
        pcp_flag[1] = True
    else:
        pcp_flag[1] = False

    if self.radioButtonC5.isChecked():
        pcp_flag[2] = True
    else:
        pcp_flag[2] = False

    if self.radioButtonC7.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    if self.radioButtonC9.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    if self.radioButtonC11.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    self.risk_console_1.t3_dict["pcp_flag"] = pcp_flag
    self.statusbar.showMessage('Modify Underlying Type {}'.format(
        datetime.now().strftime("%Y-%m-%d %H:%M%S %f")))

def run_pushButtonD1(self):
    """
    标的切换

    :return:
    """
    pcp_flag = [True, True, True, True]

    if self.radioButtonD1.isChecked():
        pcp_flag[0] = True
    else:
        pcp_flag[0] = False

    if self.radioButtonD3.isChecked():
        pcp_flag[1] = True
    else:
        pcp_flag[1] = False

    if self.radioButtonD5.isChecked():
        pcp_flag[2] = True
    else:
        pcp_flag[2] = False

    if self.radioButtonD7.isChecked():
        pcp_flag[3] = True
    else:
        pcp_flag[3] = False

    self.risk_console_1.t4_dict["pcp_flag"] = pcp_flag
    self.statusbar.showMessage('Modify Underlying Type {}'.format(
        datetime.now().strftime("%Y-%m-%d %H:%M%S %f")))

"""后台更新程序"""

def update_item_data(self, display_dict):
    risk_data_510050_rv1 = display_dict["risk_data_510050_rv1"]
    if risk_data_510050_rv1 is not None:
        self.risk_console_1.update_t1(*risk_data_510050_rv1)
    print(datetime.now())

    risk_data_510300_rv1 = display_dict["risk_data_510300_rv1"]
    if risk_data_510300_rv1 is not None:
        self.risk_console_1.update_t2(*risk_data_510300_rv1)
    print(datetime.now())

    # """中金所 沪深300期权"""
    # risk_data_io_rv1 = display_dict["risk_data_io_rv1"]
    # if risk_data_io_rv1 is not None:
    #     self.risk_console_1.update_t3(*risk_data_io_rv1)
    #
    # # 深交所 沪深300 ETF期权
    # risk_data_159919_rv1 = display_dict["risk_data_159919_rv1"]
    # if risk_data_159919_rv1 is not None:
    #     self.risk_console_1.update_t4(*risk_data_159919_rv1)

    self.statusbar.showMessage('update-{}'.format(
        datetime.now().strftime("%Y-%m-%d %H:%M:%S %f")))

主程序

class QtGuiThreadBackend(QThread):
"""更新数据类"""
update = pyqtSignal(dict)

def __init__(self, log, share_dict, freq=0.5, parent=None):
    super().__init__(parent)
    self.log = log

    # 刷新频率
    self.freq = freq
    # 通讯端口
    self.share_dict = share_dict

def run(self):
    while True:
        display_dict = self.share_dict.copy()
        self.update.emit(display_dict)
        self.log.info("update gui display data!")
        sleep(self.freq)

`

国际化例子不成功

试运行了下appendix和Chapter03的国际化例子,均显示为英文。请问是否是我运行方式有问题?
环境:win10,python3.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.