我的vn.py登录后,社区论坛界面没有办法缩放,看起来非常不舒服,求指教!
我的vn.py登录后,社区论坛界面没有办法缩放,看起来非常不舒服,求指教!
一般都可以缩放的,再试还是这样吗?
确实无法缩放,在VN Station中集成的Chrominum是比较轻量级的浏览器功能,没有提供Chrome的很多快捷操作
vnstation\ui\main\mainwindow.py中的MainWindow类中的init_ui()代码是这样的:
def init_ui(self):
""""""
self.setWindowTitle(f'VN Station {vnstation.__version__}')
self.resize(QtCore.QSize(1050, 800))
url = 'https://www.vnpy.com/portal'
self.browser = create_web_view()
self.browser.setUrl(QtCore.QUrl(url))
self.text_edit = QtWidgets.QTextEdit()
self.text_edit.setReadOnly(True)
self.signal_stdout.connect(self.text_edit.append)
button_height = 60
lite_button = QtWidgets.QPushButton('VN Trader Lite')
lite_button.clicked.connect(self.open_lite_clicked)
lite_button.setFixedHeight(button_height)
lite_button.setToolTip("加载了CTP接口和CTA策略模块的期货量化平台")
trader_button = QtWidgets.QPushButton('VN Trader Pro')
trader_button.clicked.connect(self.open_pro_clicked)
trader_button.setFixedHeight(button_height)
trader_button.setToolTip("根据需求灵活配置的机构级量化交易平台")
jupyter_button = QtWidgets.QPushButton('Jupyter Notebook')
jupyter_button.clicked.connect(self.open_jupyter_clicked)
jupyter_button.setFixedHeight(button_height)
jupyter_button.setToolTip("在Jupyter的交互式环境中进行量化研究")
encrypt_button = QtWidgets.QPushButton('策略加密')
encrypt_button.clicked.connect(self.encrypt_clicked)
encrypt_button.setFixedHeight(button_height)
encrypt_button.setToolTip("将Python源代码加密生成pyd二进制文件")
community_button = QtWidgets.QPushButton(u'提问求助')
community_button.clicked.connect(self.open_community_clicked)
community_button.setFixedHeight(button_height)
community_button.setToolTip("使用中的疑问请通过vn.py社区论坛求助")
update_button = QtWidgets.QPushButton("已是最新")
update_button.clicked.connect(self.update_clicked)
update_button.setFixedHeight(button_height)
update_button.setEnabled(False)
self.update_button = update_button
# hbox_top = QtWidgets.QHBoxLayout()
# hbox_top.addWidget(self.browser)
# hbox_top.addWidget(self.text_edit)
hbox = QtWidgets.QHBoxLayout()
hbox.addWidget(lite_button)
hbox.addWidget(trader_button)
hbox.addWidget(jupyter_button)
hbox.addWidget(encrypt_button)
hbox.addWidget(community_button)
hbox.addWidget(update_button)
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(self.browser)
vbox.addLayout(hbox)
widget = QtWidgets.QWidget()
widget.setLayout(vbox)
self.setCentralWidget(widget)
self.tray_icon = None
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.trigger_useronline)
self.timer.start(1000 * 60 * 25)
其中的self.browser = create_web_view()
def create_web_view(parent=None):
view = QWebEngineView(parent=parent)
view.setPage(QWebEnginePage(_web_engine_profile, view))
return view
而QWebEngineView和QWebEnginePage来自PyQt5.QtWebEngineWidgets:
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineProfile, QWebEngineView
因为可以肯定的是新安装的vnpy,在进入论坛界面是可以缩放的,执行下面的指令:
pip install --upgrade PyQt5
卸载vn.py,然后重新安装,当前为vn.py2.1.6,就OK了!
当然这种方法有点笨了些!不过相比前一种方法,时间上可能还短很多,讽刺吧?!
造成这种问题的原因是:vn.py系统更新时,没有考虑将其他的依赖模块和包做同步更新,导致很多古怪的问题的出现。
建议在生成版本更新脚本的时候,能够考虑将其他的依赖模块和包的同步更新。
对的,现在依赖库没法自动更新,我们之前考虑过,但是因为网络问题某些比较大的包(pands之类)很容易下载失败,导致死活都无法更新vn.py,这样用户体验更差了...
未来理想情况下,其实应该是我们维护一个类似anaconda的Python包服务,不过这个成本太高目前还负担不了
用Python的交易员 wrote:
对的,现在依赖库没法自动更新,我们之前考虑过,但是因为网络问题某些比较大的包(pands之类)很容易下载失败,导致死活都无法更新vn.py,这样用户体验更差了...
未来理想情况下,其实应该是我们维护一个类似anaconda的Python包服务,不过这个成本太高目前还负担不了
理解您的苦衷,目前的vnpy已经非常优秀,非常感谢你们的付出!