我正在使用 PyQt6 制作一个小型音乐播放器。我希望在单击四个流派按钮中的任何一个之前隐藏 QListWidget 并在单击后显示。您可以查看以下图片。
(前):
(单击按钮后我希望看到的内容):
单击微笑(快乐)按钮后,列表出现但不正确。我的工具按钮被压缩了。
(我现在看到的):
这是我的代码。
from PyQt6.QtWidgets import *
from PyQt6.QtGui import *
from PyQt6.QtCore import*
class atmoUI(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
super().__init__()
layout=QVBoxLayout(self)
atmo_layout=QGridLayout(self)
self.aggressive=QToolButton(self)
self.aggressive.setFixedSize(100,100)
self.aggressive.setIcon(QIcon('./img/aggressive.png'))
self.aggressive.setIconSize(QSize(100,100))
self.aggressive.setToolTip('aggressive')
self.happy=QToolButton(self)
self.happy.setFixedSize(100,100)
self.happy.setIcon(QIcon('./img/happy.png'))
self.happy.setIconSize(QSize(100,100))
self.happy.setToolTip('happy')
self.romantic=QToolButton(self)
self.romantic.setFixedSize(100,100)
self.romantic.setIcon(QIcon('./img/romantic.png'))
self.romantic.setIconSize(QSize(100,100))
self.romantic.setToolTip('romantic')
self.sad=QToolButton(self)
self.sad.setFixedSize(100,100)
self.sad.setIcon(QIcon('./img/sad.png'))
self.sad.setIconSize(QSize(100,100))
self.sad.setToolTip('sad')
atmo_layout.addWidget(self.aggressive,0,0)
atmo_layout.addWidget(self.happy,0,1)
atmo_layout.addWidget(self.romantic,1,0)
atmo_layout.addWidget(self.sad,1,1)
self.play=QPushButton(self)
self.pause=QPushButton(self)
self.play.setText('play')
self.pause.setIcon(QIcon('./img/pause.png'))
self.songlist=QListWidget(self)
self.home=QPushButton(self)
self.home.setText("home")
self.home.setIcon(QIcon('./img/home.png'))
layout.addLayout(atmo_layout)
layout.addWidget(self.songlist)
layout.addWidget(self.play)
layout.addWidget(self.pause)
layout.addWidget(self.home)
self.play.setVisible(False)
self.pause.setVisible(False)
self.songlist.setVisible(False)
self.setLayout(layout)
我是 PyQt 的新手,我搜索了一段时间,但仍然找不到解决方案。有谁知道如何解决这一问题?