第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么一個(gè)類繼承另一個(gè)類不會(huì)產(chǎn)生與“另一個(gè)類”相同的結(jié)果?

為什么一個(gè)類繼承另一個(gè)類不會(huì)產(chǎn)生與“另一個(gè)類”相同的結(jié)果?

狐的傳說 2021-12-21 17:03:18
我正在使用 PyQt5 在 Python 中開發(fā)一個(gè)應(yīng)用程序。這是有問題的代碼:class Dialog(QtWidgets.QMainWindow):    def __init__(self):        super().__init__()        self.layout = QtWidgets.QGridLayout()        self.main = QtWidgets.QWidget()        self.main.setLayout(self.layout)        self.setStyleSheet(QMainWindowStyle)        self.setCentralWidget(self.main)        self.show()class AppearanceTab(QtWidgets.QWidget):    def __init__(self):        super().__init__()class SettingsDialog(Dialog):    def __init__(self):        super().__init__()        self.tabs = QtWidgets.QTabWidget(self)        self.tabs.setStyleSheet(QTabWidgetStyle)        self.layout.addWidget(self.tabs)        self.tab_appearance = AppearanceTab()        self.tab_appearance.setStyleSheet(QWidgetStyle)        self.tab_appearance_layout = QtWidgets.QGridLayout()        self.tab_appearance.setLayout(self.tab_appearance_layout)        self.tabs.addTab(self.tab_appearance, "Appearance")        self.tab_server = QtWidgets.QWidget()        self.tab_server.setStyleSheet(QWidgetStyle)        self.tab_server_layout = QtWidgets.QGridLayout()        self.tab_server.setLayout(self.tab_server_layout)        self.tabs.addTab(self.tab_server, "Server")為什么當(dāng)self.tab_appearance是一個(gè)AppearanceTab實(shí)例(這應(yīng)該是一個(gè)拷貝QWidget),它有不同的風(fēng)格self.tab_server(即背景顏色變化),當(dāng)self.tab_server是一個(gè)實(shí)例QWidget?樣式表只定義background-color: #333333和color: #dddddd。提前致謝。編輯:我相信樣式表沒有正確應(yīng)用于AppearanceTab,但是我不知道為什么會(huì)看到它只是從QWidget.編輯2:可以在 github上找到 MCVE(以及我的項(xiàng)目的其余部分)。
查看完整描述

2 回答

?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

在文檔中,有一段關(guān)于繼承和樣式的段落

遺產(chǎn)

在經(jīng)典 CSS 中,當(dāng)未明確設(shè)置項(xiàng)目的字體和顏色時(shí),它會(huì)自動(dòng)從父項(xiàng)繼承。使用 Qt 樣式表時(shí),小部件不會(huì)自動(dòng)從其父小部件繼承其字體和顏色設(shè)置。

如果我們想在 QGroupBox 及其子項(xiàng)上設(shè)置顏色,我們可以這樣寫:

qApp->setStyleSheet("QGroupBox, QGroupBox * { color: red; }");

所以你可能想要改變

QMainWindowStyle = QMainWindow {color: #dddddd; background-color: #333333;}

QMainWindowStyle = QMainWindow, QMainWindow * {color: #dddddd; background-color: #333333;}

這樣主窗口的所有子部件都具有相同的樣式。


查看完整回答
反對(duì) 回復(fù) 2021-12-21
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

試試看:


from PyQt5 import QtWidgets


class Dialog(QtWidgets.QMainWindow):

    def __init__(self):

        super().__init__()

        self.layout = QtWidgets.QGridLayout()

        self.main = QtWidgets.QWidget()

        self.main.setLayout(self.layout)


#        self.setStyleSheet(QMainWindowStyle)

        self.setCentralWidget(self.main)

        self.show()


class AppearanceTab(QtWidgets.QWidget):

    def __init__(self):

        super().__init__()


class SettingsDialog(Dialog):

    def __init__(self):

        super().__init__()

        self.tabs = QtWidgets.QTabWidget(self)

#        self.tabs.setStyleSheet(QTabWidgetStyle)

        self.layout.addWidget(self.tabs)


        self.tab_appearance = AppearanceTab()

#        self.tab_appearance.setStyleSheet(QWidgetStyle)

##        self.tab_appearance.setStyleSheet("QWidget, QWidget * {color: #dddddd; background-color: #333333;}") #note: Tried this however it didn't work.

        self.tab_appearance_layout = QtWidgets.QGridLayout()

        self.tab_appearance.setLayout(self.tab_appearance_layout)

        self.tabs.addTab(self.tab_appearance, "Appearance")


        self.tab_server = QtWidgets.QWidget()

#        self.tab_server.setStyleSheet(QWidgetStyle)

        self.tab_server_layout = QtWidgets.QGridLayout()

        self.tab_server.setLayout(self.tab_server_layout)

        self.tabs.addTab(self.tab_server, "Server")




style = """

QWidget {

    color: #dddddd;

    background-color: #333333;

}


QMainWindow {

    color: #dddddd;

    background-color: #333333;

}


QTabWidget {

    background-color: #333333;

    color: #dddddd;

}

QTabBar {

    color: #dddddd;

    background-color: #333333;

}

"""


if __name__ == "__main__":

    QtWidgets.QApplication.setStyle(QtWidgets.QStyleFactory.create("Fusion"))

    app = QtWidgets.QApplication([])

    app.setStyleSheet(style)                       # < ---

    d = SettingsDialog()

    print(app.exec_())


查看完整回答
反對(duì) 回復(fù) 2021-12-21
  • 2 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)