self.show() QApplication.processEvents() self.setCentralWidget(tabs) pts = 1000 for points, symbols in zip((pts / 10, pts / 10, pts, pts), (True, False) * 2): t0 = time.time() widget = CSWidget(points, symbols) symtext = "with%s symbols" % ("" if symbols else "out") title = '%d points, %s' % (points, symtext) tabs.addTab(widget, title) tabs.setCurrentWidget(widget) # Force widget to refresh (for test purpose only) QApplication.processEvents() time_str = "Elapsed time: %d ms" % ((time.time() - t0) * 1000) widget.text.setText(time_str) tabs.setCurrentIndex(0) if __name__ == '__main__': app = QApplication([]) for name in ('Calibri', 'Verdana', 'Arial'): if name in QFontDatabase().families(): app.setFont(QFont(name)) break demo = BMDemo(100000) app.exec_()
def showInfo(self, text=""): self.statusBar().showMessage(text) def moved(self, point): info = "Freq=%g, Ampl=%g, Phase=%g" % ( self.plot.invTransform(QwtPlot.xBottom, point.x()), self.plot.invTransform(QwtPlot.yLeft, point.y()), self.plot.invTransform(QwtPlot.yRight, point.y())) self.showInfo(info) def selected(self, _): self.showInfo() def make(): demo = BodeDemo() demo.resize(540, 400) demo.show() return demo if __name__ == '__main__': app = QApplication(sys.argv) fonts = QFontDatabase() for name in ('Verdana', 'STIXGeneral'): if name in fonts.families(): app.setFont(QFont(name)) break demo = make() sys.exit(app.exec_())