PyQt6 を使用して小さな音楽プレーヤーを作成しています。4 つのジャンル ボタンのいずれかをクリックする前に 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 を初めて使用し、しばらく検索しましたが、まだ解決策が見つかりませんでした。これを修正する方法を知っている人はいますか?