class TableControl(FFrame): def __init__(self, app, parent=None): super().__init__(parent) self._app = app self.play_all_btn = FButton('▶') self.search_box = SearchBox(self._app) self._layout = QHBoxLayout(self) self.setup_ui() self.setObjectName('n_table_control') self.set_theme_style() def set_theme_style(self): theme = self._app.theme_manager.current_theme style_str = ''' QPushButton {{ background: transparent; color: {1}; font-size: 16px; outline: none; }} QPushButton:hover {{ color: {2}; }} '''.format(self.objectName(), theme.foreground.name(), theme.color0.name()) self.setStyleSheet(style_str) def setup_ui(self): self._layout.setContentsMargins(0, 0, 0, 0) self._layout.setSpacing(0) self.setFixedHeight(40) self.play_all_btn.setFixedSize(20, 20) self.search_box.setFixedSize(160, 26) self._layout.addSpacing(20) self._layout.addWidget(self.play_all_btn) self._layout.addStretch(0) self._layout.addWidget(self.search_box) self._layout.addSpacing(60)