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

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

新聞中心

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

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

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

我們需要?jiǎng)?chuàng)建一個(gè)QApplication和一個(gè)QListWidget,我們可以通過addItem方法向列表中添加項(xiàng),接下來(lái),我們將創(chuàng)建一個(gè)槽函數(shù),該函數(shù)將在鼠標(biāo)懸停在列表項(xiàng)上時(shí)被調(diào)用,在這個(gè)槽函數(shù)中,我們將獲取當(dāng)前項(xiàng)的樣式表,并修改其顏色,我們將QListWidget::item:hover信號(hào)連接到我們的槽函數(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):
        # 修改懸停時(shí)的顏色為紅色
        item.setBackgroundColor(Qt.red)
        # 延遲一段時(shí)間恢復(fù)原色,以避免快速移動(dòng)鼠標(biāo)時(shí)顏色閃爍
        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_())

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

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


分享標(biāo)題:PyQt5QListWidget::item:hover懸停時(shí)修改顏色
文章分享:http://m.5511xx.com/article/djcpish.html