av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

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)的顏色以提供視覺(jué)反饋,以下是一個(gè)簡(jiǎn)單的示例,展示了如何在鼠標(biāo)懸停時(shí)修改列表項(xiàng)的顏色。

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

我們需要?jiǎng)?chuàng)建一個(gè)QApplication和一個(gè)QListWidget,我們可以通過(guò)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的自定義類(lèi),該類(lèi)繼承自QListWidget,我們?cè)谄渲卸x了兩個(gè)槽函數(shù):on_item_double_clickedon_item_hover,當(dāng)用戶(hù)雙擊列表項(xiàng)或鼠標(biāo)懸停在列表項(xiàng)上時(shí),這些槽函數(shù)將被調(diào)用,在on_item_hover槽函數(shù)中,我們修改了當(dāng)前項(xiàng)的背景顏色為紅色,為了解決快速移動(dòng)鼠標(biāo)時(shí)顏色閃爍的問(wèn)題,我們使用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)你松開(kāi)鼠標(biāo)按鈕時(shí),顏色將恢復(fù)為默認(rèn)值,當(dāng)你雙擊列表項(xiàng)時(shí),控制臺(tái)將輸出該項(xiàng)的文本和數(shù)據(jù)。


分享題目:PyQt5QListWidget::item:hover懸停時(shí)修改顏色
轉(zhuǎn)載注明:http://uogjgqi.cn/article/djcpish.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流