日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PyQt5QListWidget::item:hover懸停時修改顏色

在PyQt5中,我們可以使用QListWidget::item:hover信號來檢測鼠標(biāo)懸停在列表項上的情況,當(dāng)鼠標(biāo)懸停在列表項上時,我們可以修改該項的顏色以提供視覺反饋,以下是一個簡單的示例,展示了如何在鼠標(biāo)懸停時修改列表項的顏色。

成都創(chuàng)新互聯(lián)公司成立于2013年,先為華亭等服務(wù)建站,華亭等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為華亭企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

我們需要創(chuàng)建一個QApplication和一個QListWidget,我們可以通過addItem方法向列表中添加項,接下來,我們將創(chuàng)建一個槽函數(shù),該函數(shù)將在鼠標(biāo)懸停在列表項上時被調(diào)用,在這個槽函數(shù)中,我們將獲取當(dāng)前項的樣式表,并修改其顏色,我們將QListWidget::item:hover信號連接到我們的槽函數(shù)。

以下是完整的代碼:

import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt
class HoverListWidget(QListWidget):
    def __init__(self, parent=None):
        super(HoverListWidget, self).__init__(parent)
        self.setAcceptDrops(True)
        self.setDragEnabled(True)
        self.setDefaultDropAction(Qt.MoveAction)
        self.setMouseTracking(True)
        layout = QVBoxLayout(self)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setSpacing(0)
        for i in range(10):
            item = QListWidgetItem(f"Item {i}")
            item.setData(Qt.UserRole, f"Item {i} Data")
            self.addItem(item)
        self.itemDoubleClicked.connect(self.on_item_double_clicked)
        self.item:hover.connect(self.on_item_hover)
    def on_item_double_clicked(self, item):
        print(f"Doubleclicked on item {item.text()} with data {item.data(Qt.UserRole)}")
    def on_item_hover(self, item):
        # 修改懸停時的顏色為紅色
        item.setBackgroundColor(Qt.red)
        # 延遲一段時間恢復(fù)原色,以避免快速移動鼠標(biāo)時顏色閃爍
        QTimer.singleShot(100, item.setBackgroundColor)
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = QWidget()
    window.setWindowTitle("Hover List Widget Example")
    window.setGeometry(100, 100, 300, 200)
    list_widget = HoverListWidget()
    window.setLayout(list_widget)
    window.show()
    sys.exit(app.exec_())

在這個示例中,我們創(chuàng)建了一個名為HoverListWidget的自定義類,該類繼承自QListWidget,我們在其中定義了兩個槽函數(shù):on_item_double_clickedon_item_hover,當(dāng)用戶雙擊列表項或鼠標(biāo)懸停在列表項上時,這些槽函數(shù)將被調(diào)用,在on_item_hover槽函數(shù)中,我們修改了當(dāng)前項的背景顏色為紅色,為了解決快速移動鼠標(biāo)時顏色閃爍的問題,我們使用QTimer.singleShot方法延遲一段時間恢復(fù)原色。

運行這個示例,你將看到一個包含10個列表項的窗口,當(dāng)你將鼠標(biāo)懸停在列表項上時,該項的背景顏色將變?yōu)榧t色,當(dāng)你松開鼠標(biāo)按鈕時,顏色將恢復(fù)為默認(rèn)值,當(dāng)你雙擊列表項時,控制臺將輸出該項的文本和數(shù)據(jù)。


文章名稱:PyQt5QListWidget::item:hover懸停時修改顏色
本文來源:http://www.5511xx.com/article/djcpish.html