панель инструментов навигации внутри виджета

Если Python 3 является опцией, у вас есть два варианта:

  • time.perf_counter , которые всегда используют самые точные часы на вашей платформе. Он включает время, затраченное вне процесса.
  • time.process_time , который возвращает время процессора.

Различие между двумя может быть показано с помощью:

from time import (
    process_time,
    perf_counter,
    sleep,
)

print(process_time())
sleep(1)
print(process_time())

print(perf_counter())
sleep(1)
print(perf_counter())

Какие выходы:

0.03125
0.03125
2.560001310720671e-07
1.0005455362793145

-1
задан ekhumoro 18 January 2019 в 14:59
поделиться

2 ответа

Попробуйте добавить каждую панель инструментов непосредственно в соответствующий виджет, используя QVBoxLayout, как описано в Как встроить matplotlib в pyqt - для чайников .

Или, если вы все еще предпочитаете использовать область панели инструментов в QMainWindow, вам необходимо подключить сигнал currentChanged QTabWidget к слоту, заменив панель инструментов на ту, которая соответствует виджету выбранного виджет.

0
ответ дан jpeg 18 January 2019 в 14:59
поделиться

Мне удалось решить таким образом. Я создал эту функцию

def _initialize_widget(self,widget):
    """
    function that:
     - initialises every tab (widget)
     - add layout
     - add navigation toolbar and position it at the bottom of the tab
    :param widget:
    :return:
    """
    widget.figure.clear()
    widget.draw()

    widget.setLayout(QtGui.QVBoxLayout())
    widget.layout().setContentsMargins(0, 710, 50, -0)#(left, top, right, bottom)
    widget.layout().setSpacing(0)
    toolbar = NavigationToolbar(widget, self)
    widget.layout().addWidget(toolbar)
    widget.figure.clear()
    widget.draw()

и затем инициализирую виджеты (canvas)

self._initialize_widget(self.widget_LID1)

Таким образом, я добавляю панель инструментов навигации внизу холста.

0
ответ дан bruvio 18 January 2019 в 14:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: