PyQt的一些问题
将一些Qt上的代码移植到PyQt上使用。
遇到了一些问题:
问题一:
这段代码目的是将程序中的所有按钮都连接到btn_clicked(),很方便。
pyqt上的我改改了,大概是:
这样格式,但不起作用。PyQt中好像没有QList这个类,其用法我不是很清楚 ,目前的解决方法是:
直接
self.ui.btna.clicked.connect(self.btn_clicked)
self.ui.btnb.clicked.connect(self.btn_clicked)
self.ui.btnc.clicked.connect(self.btn_clicked)
self.ui.btnd.clicked.connect(self.btn_clicked)
self.ui.btne.clicked.connect(self.btn_clicked)
self.ui.btnf.clicked.connect(self.btn_clicked)
self.ui.btng.clicked.connect(self.btn_clicked)
self.ui.btnh.clicked.connect(self.btn_clicked)
………………
手动连接。比较麻烦。
问题二:
事件过滤器中的这段代码怎么转换到PyQt中使用,Qt上的这个代码实在太抽象。不会转了。
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->key() == Qt::Key_Space) {
}
我寻思了直接
keyEvent=QKeyEvent()
但是 没效果。
网上根本找不到结果!都是最简单的事件过滤器的应用。
问题三:
connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)),this, SLOT(focusChanged(QWidget *, QWidget *)));
怎么转换成PyQt的,我是直接:
qApp.connect(self,QtCore.SIGNAL("focusChanged()"),self.focusChanged)
但是没效果。一遇到带*这些玩意。我就不懂怎么玩了!或者改成focusChanged(QWidget,QWidget)之类的?
求大神解决。
随便问问。这么冷门的东西,估计没多少人回我……
遇到了一些问题:
问题一:
//Qt代码
QList<QPushButton *> btn = this->findChildren<QPushButton *>();
foreach (QPushButton * b, btn) {
connect(b, SIGNAL(clicked()), this, SLOT(btn_clicked()));
}
这段代码目的是将程序中的所有按钮都连接到btn_clicked(),很方便。
pyqt上的我改改了,大概是:
btn = []
btn = self.findChildren(QPushButton)
b = QPushButton()
for b in btn:
b.connect(self,SIGNAL("clicked()"),self.btn_clicked)
这样格式,但不起作用。PyQt中好像没有QList这个类,其用法我不是很清楚 ,目前的解决方法是:
直接
self.ui.btna.clicked.connect(self.btn_clicked)
self.ui.btnb.clicked.connect(self.btn_clicked)
self.ui.btnc.clicked.connect(self.btn_clicked)
self.ui.btnd.clicked.connect(self.btn_clicked)
self.ui.btne.clicked.connect(self.btn_clicked)
self.ui.btnf.clicked.connect(self.btn_clicked)
self.ui.btng.clicked.connect(self.btn_clicked)
self.ui.btnh.clicked.connect(self.btn_clicked)
………………
手动连接。比较麻烦。
问题二:
事件过滤器中的这段代码怎么转换到PyQt中使用,Qt上的这个代码实在太抽象。不会转了。
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->key() == Qt::Key_Space) {
}
我寻思了直接
keyEvent=QKeyEvent()
但是 没效果。
网上根本找不到结果!都是最简单的事件过滤器的应用。
问题三:
connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)),this, SLOT(focusChanged(QWidget *, QWidget *)));
怎么转换成PyQt的,我是直接:
qApp.connect(self,QtCore.SIGNAL("focusChanged()"),self.focusChanged)
但是没效果。一遇到带*这些玩意。我就不懂怎么玩了!或者改成focusChanged(QWidget,QWidget)之类的?
求大神解决。
随便问问。这么冷门的东西,估计没多少人回我……
...全文
相关推荐
pyqt5的压缩包,解决pyqt5安装失败的问题
当你尝试安装PyQT5时,可能会遇到以下常见问题:1. **依赖问题**:PyQt5依赖于Qt库和SIP(Simple Interface for Python)。
菜鸟历程-记录安装pyqt5遇到的各种问题
"这篇资源是关于一位初学者在安装PyQT5过程中遇到的问题及解决方案的个人记录。在尝试安装PyQT5及其工具包pyqt5-tools时,由于网络超时问题,作者通过添加镜像源解决了库安装的问题。此外,
解决jupyter运行pyqt代码内核重启的问题
问题的根源在于PyQt5和Jupyter内核之间的冲突。
解决安装pyqt5之后无法打开spyder的问题
然而,有时候在安装PyQt5之后,可能会遇到无法启动Spyder的问题。这个问题通常与版本兼容性或者环境配置有关。下面我们将深入探讨这个问题的原因及解决方案。
python+pyqt5,打包出现的若干问题
本文将总结在打包Python+PyQt5应用时可能出现的问题以及解决方法。首先,我们需要了解打包的基本流程。


