Linux鼠标回到wind桌面,在鼠标点击改变桌面选择的背景颜色在Linux上的PyQt

我使用setStyleSheet,只是为了发现它不适用于统一和肉桂,而它适用于KDE和i3。

我不是那么聪明的qbrushes或其他的东西我googling出来。

那么最好的方法来解决这个问题,以便它可以在任何地方工作?谢谢。

继承人我的解决方案在行动中的一个gif。

继承人它的代码,它的pyqt5,python3

from PyQt5.QtCore import *

from PyQt5.QtGui import *

from PyQt5.QtWidgets import *

import sys

class My_Model_table(QAbstractTableModel):

def __init__(self, table_data=[], parent=None):

super().__init__()

self.table_data = table_data

def rowCount(self, parent):

return len(self.table_data)

def columnCount(self, parent):

return 1

def data(self, index, role):

if role == Qt.DisplayRole:

value = self.table_data[index.row()]

return value

if role == Qt.TextAlignmentRole:

return Qt.AlignCenter

class My_table(QTableView):

def __init__(self, parent=None):

super().__init__()

self.activated.connect(self.double_click_enter)

def double_click_enter(self, QModelIndex):

row = QModelIndex.row()

self.setStyleSheet('selection-background-color:red;')

self.alarm = QTimer()

self.alarm.timeout.connect(self.row_color_back)

self.alarm.setSingleShot(True)

self.alarm.start(200)

return

def row_color_back(self):

self.setStyleSheet('')

if __name__ == '__main__':

app = QApplication(sys.argv)

data = ['1', '2', '3', '4', '5']

main_table = My_table()

main_table.setModel(My_Model_table(data))

main_table.show()

sys.exit(app.exec_())

2016-01-21

DoTheEvo

你可能感兴趣的:(Linux鼠标回到wind桌面)