Solution 1 :给一个 QWidget 添加 QActions,设置QWidget 的 contextMenuPolicy 属性为 Qt::ActionsContextMenu 值,使得窗口
菜单以这些添加的 QActions 为菜单项组成一个右键菜单。1:MyWidget::MyWidget(QWidget *parent)2:: QWidget(parent)3:{4:setWindowTitle(tr(Context Menu Show 1))5://为窗口添加QActions6:addAction(newQAction(tr(&Open),this))7:addAction(newQAction(QIcon(:/images/mark.png), tr(&Mark),this))8:addAction(newQAction(tr(&Quit),this))9://设置contextMenuPolicy属性值为 '以Actions为d出菜单的菜单项组成菜单'10:setContextMenuPolicy(Qt::ActionsContextMenu)11:}效果:Solution 2 :重写 QWidget 的被保护的虚函数void QWidget::contextMenuEvent (QContextMenuEvent*event)[virtual protected],设置QWidget 的 contextMenuPolicy 属性为 Qt::DefaultContextMenu 值,其实默认就是这个值,不用显示设置。1:MyWidget::MyWidget(QWidget *parent)2:: QWidget(parent)3:{4:setWindowTitle(tr(Context Menu Show 2))5:setContextMenuPolicy(Qt::DefaultContextMenu)//其实不用设置,默认就是这个值6:}7:8:9:voidMyWidget::contextMenuEvent(QContextMenuEvent *event)10:{11:QMenu *menu =newQMenu(this)12:menu-addAction(newQAction(tr(&Open), menu))13:menu-addAction(newQAction(QIcon(:/images/mark.png), tr(&Mark), menu))14:menu-addAction(newQAction(tr(&Quit), menu))15:menu-move(cursor().pos())//让菜单显示的位置在鼠标的坐标上16:menu-show()17:}效果:上面直接是在 contextMenuEvent 函数体里面 new 了个菜单和一些菜单项,这是为了演示。// QContextMenuEvent 右键菜单
void MyWidget::contextMenuEvent(QContextMenuEvent */*event*/)
{
QMenu *menu = new QMenu()
menu->addAction("退出")
menu->exec(QCursor::pos())
}
qtcretor设置菜单字体大小:控制面板-外观和个性化-字体 ,后边你应该就会了 你首先应该检查是否所有的“任务栏和开始菜单”(或者控制面板-任务栏和开始菜单)。
右键我的电脑-属性--高级系统设置--环境变量--(用户变量)。
新建变量名:QT_SCALE_FACTOR。
变量值:1 或 1.25 或 1.5(对应界面放大程度,可以都试试)设置后一路点确定,出来。重新打开Qt Creator,看看哪种界面大小是你想要的。
有效范围:
系统级快捷键可以全局响应,不论当前焦点在哪里、运行什么程序,按下时都能起作用。
应用程序级热键只能在当前活动的程序中起作用,当应用程序热键的定义程序不活动或在后台运行时,热键就无效了。
控件级的热键则仅在当前控件中起作用。
一般系统和应用程序的快捷键可以按自己的 *** 作习惯进行自定义。
评论列表(0条)