我正在处理一个我没有成功解决的简单问题。我正在使用Python-3.6和PyQt5。在
我希望当用户将鼠标放在非活动选项卡上方时,更改鼠标光标(为了理解,他可以单击鼠标来更改活动选项卡)。这只在非活动选项卡上,而不是在其内容上(因为在Qt Designer中更改cursor参数允许我这样做)。我在网上找了几个小时的答案,但没找到我想要的。我想我必须处理stylesheet属性,但是我不知道怎么做(它可能是QTabWidget::pane的问题)。有人能帮帮我吗?在
下面是一个示例代码,其中鼠标光标在整个选项卡上更改,而不仅仅是选项卡标题:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class Ui_Form(QtWidgets.QWidget):
def __init__(self, nb_courbes=1, nom_courbes='', parent=None):
super(Ui_Form, self).__init__(parent)
self.setupUi(self)
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(249, 169)
self.tabWidget = QtWidgets.QTabWidget(Form)
self.tabWidget.setGeometry(QtCore.QRect(40, 40, 127, 80))
self.tabWidget.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.tabWidget.addTab(self.tab_2, "")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
form = Ui_Form()
form.show()
sys.exit(app.exec_())
我希望普通光标(箭头)位于蓝色区域,但将鼠标光标更改为红色区域中不活动的选项卡标题。在
{a2}
通过将光标设置在tab-bar上,可以更改所有选项卡的光标:
但是,要只为不活动的选项卡更改光标,必须使用事件筛选器动态更改光标,如下所示:
^{pr2}$(PS:Qt不支持通过样式表更改光标)。在
相关问题 更多 >
编程相关推荐