#include #include #include #include #include #include #include #include class MyPushButton : public QPushButton { public: MyPushButton( const QString & p_text, QWidget *p) : QPushButton( p_text,p ) {} protected: void paintEvent(QPaintEvent * p_event ) { QElapsedTimer timer; timer.start(); QPushButton::paintEvent( p_event ); qDebug() << "paint event time: " << timer.elapsed(); } }; int main(int argc, char *argv[]) { QElapsedTimer timer; timer.start(); QApplication a(argc,argv); QString t = QLatin1String(QT_VERSION_STR); #if QT_VERSION >= 0x050000 t += QLatin1Char(' ') + a.platformName(); #endif qDebug() << t << "clock type: " << QElapsedTimer::clockType() << '\n' #if QT_VERSION >= 0x050400 << QLibraryInfo::build() << '\n' #endif << "\napp constructor time: " << timer.elapsed(); timer.restart(); QWidget top; auto lt = new QHBoxLayout(&top); top.setWindowTitle(t); MyPushButton *quit = new MyPushButton("πŸ™‹β€β™‚Ρ‚ΠΎΡƒΠ΅γ²γ‚‰γŒγͺ", &top); quit->resize(175,30); QObject::connect(quit,SIGNAL(clicked()),&a,SLOT(quit())); lt->addWidget(quit); MyPushButton *quit2 = new MyPushButton("πŸ™‹β€β™‚Ρ‚ΠΎΡƒΠ΅γ²γ‚‰γŒγͺ", &top); quit2->resize(175,30); quit2->setFont(QFont("Courier",18,QFont::Bold)); QObject::connect(quit2,SIGNAL(clicked()),&a,SLOT(quit())); lt->addWidget(quit2); MyPushButton *quit3 = new MyPushButton("πŸ™‹β€β™‚Ρ‚ΠΎΡƒΠ΅γ²γ‚‰γŒγͺ", &top); quit3->resize(175,30); quit3->setFont(QFont("Segoe UI Emoji",18,QFont::Bold)); QObject::connect(quit3,SIGNAL(clicked()),&a,SLOT(quit())); lt->addWidget(quit3); MyPushButton *quit4 = new MyPushButton("πŸ™‹β€β™‚Ρ‚ΠΎΡƒΠ΅γ²γ‚‰γŒγͺ", &top); quit4->resize(175,30); quit4->setFont(QFont("Invalid font name",18,QFont::Bold)); QObject::connect(quit4,SIGNAL(clicked()),&a,SLOT(quit())); lt->addWidget(quit4); top.show(); qDebug() << "button creation time: " << timer.elapsed(); return a.exec(); }