I am trying to make the text inside the tab menu buttons to be horizontally instead of vertically as default. I am using PyQt5.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTabWidget, QVBoxLayout
from PyQt5.QtCore import Qt
class ConnectedWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Connected Window")
self.setStyleSheet("background-color: white;")
tab_widget = QTabWidget(self)
tab_widget.setStyleSheet(
"QTabBar::tab { width: 180px; height: 180px; background-color: #4B4848; color: white; font-size: 16px; font-weight: bold; border-radius: 0px; padding-left: 10px;writing-mode: horizontal; }"
"QTabBar::tab:selected { background-color: #22a9e1; }"
)
tab_widget.setTabPosition(QTabWidget.West)
tab1 = QWidget()
tab2 = QWidget()
tab3 = QWidget()
tab_widget.addTab(tab1, "CHOICE OF ESSAY")
tab_widget.addTab(tab2, "SELECT PIPETTE")
tab_widget.addTab(tab3, "TYPE OF PLATE")
start_sampling_button = QPushButton("START SAMPLING", self)
start_sampling_button.setStyleSheet(
"background-color: #4B4848; color: white; font-size: 24px; border-radius: 10%; padding: 10px;"
)
start_sampling_button.setFixedSize(300, 100)
main_layout = QVBoxLayout(self)
main_layout.addWidget(tab_widget)
main_layout.addWidget(start_sampling_button, alignment=Qt.AlignRight | Qt.AlignBottom)
self.setLayout(main_layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
connected_window = ConnectedWindow()
connected_window.showMaximized()
sys.exit(app.exec_())