title: How to Have a Border Show Up Only When a Push Button is Clicked in PyQt5
body: <p>here is the code I am using:</p>
  <pre><code>import sys
  from PyQt5.QtWidgets import *
  from PyQt5.QtGui import *
  from PyQt5.QtCore import *
  
  
  class Win(QMainWindow):
  
      def __init__(self):
          super().__init__()
          self.title = 'PipBoy'
          self.left = 0
          self.top = 0
          self.width = 800
          self.height = 480
          self.setWindowTitle(self.title)
          self.setGeometry(self.left, self.top, self.width, self.height)
          self.setFixedWidth(800)
          self.setFixedHeight(480)
  
          self.table_widget = StatsTabs(self)
          self.setCentralWidget(self.table_widget)
  
          self.setStyleSheet(&quot;background:#141A15 ; color:#65F68C&quot;)
  
  
  class StatsTabs(QWidget):
  
      def __init__(self, parent):
          super(QWidget, self).__init__(parent)
          self.layout = QGridLayout(self)
  
          # Initialize tab screen
          self.tabs = QTabWidget()
          self.tab1 = QWidget()
          self.tab2 = QWidget()
          self.tab3 = QWidget()
          self.tab4 = QWidget()
          self.tab5 = QWidget()
  
          self.tabs.resize(800, 480)
  
          # Add tabs
          self.tabs.addTab(self.tab1, &quot;Status&quot;)
          self.tabs.addTab(self.tab2, &quot;S.P.E.C.I.A.L.&quot;)
          self.tabs.addTab(self.tab3, &quot;Skills&quot;)
          self.tabs.addTab(self.tab4, &quot;Perks&quot;)
          self.tabs.addTab(self.tab5, &quot;General&quot;)
  
          # Create first tab
          self.setTab1()
  
          self.setTab2()
  
          # Add tabs to widget
          self.layout.addWidget(self.tabs)
          self.setLayout(self.layout)
  
          self.uni_font = QFont(&quot;Monofonto&quot;, 14)
          self.setStyleSheet(&quot;background:#141A15 ; color:#65F68C&quot;)
          self.setStyleSheet(
              &quot;QPushButton{border-color:#65F68C}&quot;)
  
          QApplication.setFont(self.uni_font)
  
      def setTab1(self):
          self.tab1.layout = QVBoxLayout(self)
          self.label1 = QLabel(&quot;&quot;)
          self.tab1.layout.addWidget(self.label1)
          self.tab1.setLayout(self.tab1.layout)
  
      def show_skills_desc(self, index):
          self.skill_desc.setText(self.lines[index])
  
          self.skillspic = QPixmap(&quot;statsimgs/&quot; + str(index) + &quot;.png&quot;)
          self.skillspiclabel.setPixmap(self.skillspic)
  
          self.skill_desc.setStyleSheet(
              &quot;border:1px solid;border-color:#65F68C&quot;)
  
      def setTab2(self):
          self.tab2.layout = QGridLayout(self)
          skills_list = [&quot;Barter&quot;, &quot;Big Guns&quot;, &quot;Energy Weapons&quot;, &quot;Explosives&quot;, &quot;Lockpick&quot;, &quot;Medicine&quot;,
                         &quot;Melee Weapons&quot;, &quot;Repair&quot;, &quot;Science&quot;, &quot;Small Guns&quot;, &quot;Sneak&quot;, &quot;Speech&quot;, &quot;Unarmed&quot;]
          self.button_list = []
  
          self.skill_desc = QLabel(&quot;&quot;)
          self.skill_desc.setWordWrap(True)
          self.skill_desc.setGeometry(0, 0, 480, 240)
          self.skill_desc.setFixedWidth(480)
          self.skill_desc.setFixedHeight(100)
  
          self.skillspiclabel = QLabel()
          self.skillspiclabel.setFixedWidth(200)
          self.skillspiclabel.setFixedHeight(200)
          self.skillspiclabel.setScaledContents(True)
          self.skillspiclabel.setAlignment(Qt.AlignCenter)
  
          self.tab_label = QLabel(&quot;STATS&quot;)
          self.tab2.layout.addWidget(self.tab_label, 0, 0)
  
          with open(&quot;skills.txt&quot;) as f:
              self.lines = f.readlines()
  
          for i in range(13):
              button = QPushButton(skills_list[i])
              button.setFixedHeight(35)
              self.button_list.append(button)
              self.tab2.layout.addWidget(self.button_list[i], i+1, 0)
              self.button_list[i].clicked.connect(
                  lambda checked, c=i: self.show_skills_desc(int(c)))
  
          self.tab2.layout.addWidget(self.skillspiclabel, 1, 1, 7, 1)
  
          self.tab2.layout.addWidget(self.skill_desc, 7, 1, 6, 1)
  
          self.tab2.setLayout(self.tab2.layout)
  
  
  def show_window():
      app = QApplication(sys.argv)
      root = Win()
  
      root.show()
  
      sys.exit(app.exec_())
  
  
  show_window()
  </code></pre>
  <p>In the S.P.E.C.I.A.L. tab, I want a border to show up around a button when it is clicked, and disappear when another button is clicked. (So that only one button is highlighted at a time.)</p>
  <p>Is there a way to do this?</p>
  <p>Also, does anyone know how to change the styling of the tab menu at the top of the window?</p>