QMenu 改变选中行颜色:
m_pPreMenu=new QMenu(this);
m_pPreMenu->addAction(QString::fromLocal8Bit("50万"));
m_pPreMenu->addAction(QString::fromLocal8Bit("100万"));
m_pPreMenu->addAction(QString::fromLocal8Bit("500万"));
m_pPreMenu->addAction(QString::fromLocal8Bit("1000万"));
m_pPreMenu->setStyleSheet("color: rgb(220, 2, 2);");
m_pPreMenu->setStyleSheet("QMenu{background-color: white;border: 1px solid white;}\
QMenu::item {padding:2px 2px 2px 2px;border-bottom:0px solid #DBDBDB;margin:0px 0px 0px 0px;}\
QMenu::item:selected {background-color: rgb(255,0,0);}");
QObject::connect(m_pPreMenu,SIGNAL(triggered(QAction*)),this,SLOT(OnMenuTriggered(QAction*)));
//根据当前选择项,改变Edit内容
void CLuckWnd::OnMenuTriggered(QAction* p)
{
wchar_t wbuf[512]={0};
auto text=p->text().toStdString();
MultiByteToWideChar(CP_UTF8,0,text.c_str(),text.length(),wbuf,512);
auto pWan=wcschr(wbuf,L'万');
if(pWan != NULL)
{
*pWan=0;
ui.m_editMoney->setText(QString("%1").arg(_wtoi(wbuf)*10000));
}
}