1. MenuPopup效果
View Code
QToolButton* arrange = new QToolButton; QPixmap arrangeIcon = QPixmap(QStringLiteral(":/image/res/tabmenu_graph_peilie.png")); arrange->setObjectName("TabMenuBeginMapArrange"); arrange->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); arrange->setIcon(arrangeIcon); arrange->setIconSize(arrangeIcon.size()); arrange->setText("排列"); QString arrangeTool = "<H4>排列</H4>\n\n 通过更改页面上对象的顺序、位置和旋转来对其进行排列。" "\n\n 您也可以将多个对象组合在一起,以便将它们作为单个对象处理。"; QString arrangeStatus = "set arrange"; arrange->setToolTip(arrangeTool); arrange->setStatusTip(arrangeStatus); QMenu* arrangeMenu = new QMenu(arrange); QAction* act = new QAction(QIcon(QStringLiteral(":/image/res/tabmenu_graph_top.png")),QStringLiteral("置于顶层(&R)"),arrangeMenu); connect(act, SIGNAL(triggered()), this, SLOT(NewPage())); arrange->setDefaultAction(act); arrangeMenu->addAction(act); act = new QAction(QIcon(QStringLiteral(":/image/res/tabmenu_graph_buttom.png")),QStringLiteral("置于低层(&K)"),arrangeMenu); connect(act, SIGNAL(clicked()), this, SLOT(NewPage())); arrangeMenu->addAction(act); act = new QAction(QIcon(QStringLiteral(":/image/res/tabmenu_graph_up.png")),QStringLiteral("上移一层(&F)"),arrangeMenu); connect(act, SIGNAL(clicked()), this, SLOT(NewPage())); arrangeMenu->addAction(act); act = new QAction(QIcon(QStringLiteral(":/image/res/tabmenu_graph_down.png")),QStringLiteral("下移一层(&B)"),arrangeMenu); connect(act, SIGNAL(clicked()), this, SLOT(NewPage())); arrangeMenu->addAction(act); arrange->setMenu(arrangeMenu); arrange->setPopupMode(QToolButton::MenuButtonPopup );
2. 激发paintEvent
setAttribute(Qt::WA_Hover, true);
3. 获取窗口大小的时机
当第一次收到event是QEvent::WindowActivate的时候。
4. Qt
QT_BEGIN_NAMESPACE
http://qt-project.org/wiki/Qt-In-Namespace