写一个键盘输入事件:
#键盘输入事件 def keyPressEvent(self, event): self.Press_key = event.key() print(self.Press_key)运行程序,键盘输入一些按键,执行如下: 试了几下,几个常用键为:
ctrl:16777249 shift: 16777248 enter: 16777220 alt: 16777251 a到z: 65到90 0到9: 48到57那么使用时,比如:
#表示输入ctrl键时就会输出yes def keyPressEvent(self, event): self.Press_key = event.key() if self.Press_key == 16777249: print("yes")点击ctrl时就会打印yes
键盘按下和放开事件: 例如:
def keyPressEvent(self, event): self.Press_key = event.key() print("Press") def keyReleaseEvent(self, event): self.Release_key = event.key() print("Release")那么组合一下就可以实现比如按ctrl+鼠标滚轮实现控制。
执行以后:
报错QtWebEngineWidgets不存在时: pip3 install PyQtWebEngine -i https://pypi.tuna.tsinghua.edu.cn/simple/
运行结果 参考自:https://blog.csdn.net/jia666666/article/details/81675009
后来发现并不需要按钮来触发,直接在布局中就能实现,如在布局中直接部署一个QWebEngineView,程序启动初始化时就执行:
self.browser = QtWebEngineWidgets.QWebEngineView(self.model_show_box) self.browser.setGeometry(0,0,480,460) self.browser.load(QtCore.QUrl(r"https://lutzroeder.github.io/netron/")) #self.browser.page().runJavaScript(self.js) self.browser.show()那么原来的窗口就用来显示netron用于查看模型的结构:
本来想添加一个打开文件按钮,然后用runJavaScript来将netron的打开模型按钮自动化,但是后来发现一来github打开是有延迟的,延迟提交可能会影响体验,二来向开发js的小伙伴询问了一下,把模型提交给这个网页并不是像本地一样提交个路径就可以了,所以还是放弃了。
一直没有什么艺术细胞,所以设计的ui也比较难看,今天在阿里图标库上找了一些素材,把之前的界面稍微改善了一下。
阿里矢量图标库地址:https://www.iconfont.cn/