def _create_log_bar(self): self.log_dock = QDockWidget(self) self.log_dock.setObjectName('LogFrame') self.log_dock.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable) self.log_bar = QWidget(self) self.horizontal_layout_log_bar = QHBoxLayout(self.log_bar) self.horizontal_layout_log_bar.setContentsMargins(2, 0, 2, 0) self.horizontal_layout_log_bar.setObjectName("horizontal_layout_log_bar") # add info label self._log_warning_count = 0 self.log_browser = QTextEdit() self.log_browser.setObjectName("log_browser") self.log_browser.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.log_browser.setLineWrapMode(QTextEdit.NoWrap) # self.log_browser.setMaximumHeight(120) color = QColor(255, 255, 235) bg_style = "QTextEdit#log_browser { background-color: %s;}" % color.name() self.log_bar.setStyleSheet("%s" % (bg_style)) self.horizontal_layout_log_bar.addWidget(self.log_browser) # add hide button self.clear_log_button = QPushButton("clear", self) self.clear_log_button.setObjectName("clear_log_button") self.clear_log_button.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Maximum) self.clear_log_button.clicked.connect(self.on_clear_log_button_clicked) self.clear_log_button.setFlat(True) self.horizontal_layout_log_bar.addWidget(self.clear_log_button) self.log_dock.setWidget(self.log_bar) return self.log_dock
def _update_title_label(self): if self.title_edit.text(): self.title_label.setText(self.title_edit.text()) self._dock_widget.setWindowTitle(self.title_edit.text()) if __name__ == '__main__': import sys from python_qt_binding.QtGui import QApplication from .dockable_main_window import DockableMainWindow app = QApplication(sys.argv) win = DockableMainWindow() dock1 = QDockWidget('dockwidget1', win) win.addDockWidget(Qt.LeftDockWidgetArea, dock1) title_bar = DockWidgetTitleBar(dock1) dock1.setTitleBarWidget(title_bar) dock2 = QDockWidget('dockwidget2') win.addDockWidget(Qt.RightDockWidgetArea, dock2) title_bar = DockWidgetTitleBar(dock2) dock2.setTitleBarWidget(title_bar) win.resize(640, 480) win.show() app.exec_()