• 6081阅读
  • 4回复

【原创】将菜单放在主菜单的右边 [复制链接]

上一主题 下一主题
在线XChinux
 

只看楼主 正序阅读 楼主  发表于: 2005-07-30
窗口菜单有两项,其中第二项为菜单项,
我们的目的是将帮助菜单放在右方
char tem[255];
MENUITEMINFO s;
s.cbSize=sizeof(MENUITEMINFO);
s.fMask=MIIM_TYPE;
s.dwTypeData=tem;

GetMenuItemInf(MainMenu1->Handle,1,true,&s);
s.fType|=MFT_RIGHTJUSTIFY;
SetMenuItemInfo(MainMenu1->Handle,1,true,&s);
DrawMenuBar(Handle);
[ 此贴被XChinux在2005-11-18 10:35重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
在线XChinux

只看该作者 4楼 发表于: 2005-11-18
一个Dialog是什么?其实就是一个Widget,你怎样认一个Widget显示,就怎样让Dialog显示。
这和MFC里的思想不一样。MainWindow和Dialog都是Widget。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
在线XChinux

只看该作者 3楼 发表于: 2005-11-18
我这里模拟了一个,是用两个MenuBar加起来的。

Form1::Form1(QWidget *parent)
     :QMainWindow(parent)
{
     setupUi(this);
     menubar1 = new QMenuBar(this);
     menubar2 = new QMenuBar(this);
     menubar1->addMenu(tr("&File"));
     menubar2->setLayoutDirection(Qt::RightToLeft);
     menubar2->addMenu(tr("&Help"));
     menubar1->move(0, 0);
     menubar2->move(this->width() - menubar2->width(), 0);
}
void Form1::resizeEvent(QResizeEvent *event)
{
     menubar2->move(this->width() - menubar2->width(), 0);
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
在线XChinux

只看该作者 2楼 发表于: 2005-11-07
下面是引用flyingwind于2005-11-04 14:47发表的:
qt中如何这样放?
另外,我自己给菜单写了个slot,结果没有起作用?
      file->insertItem(tr("addUser"),this,SLOT(addUser()));
其中 addUser 已经实现了弹出一个窗口 ,代码如下:
          QDialog *dlg = new QDialog( this,QString::null, 0, 0 );
.......

QT的Example里有这样的例子。
有一个关于菜单的例子,你看看。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线flyingwind
只看该作者 1楼 发表于: 2005-11-04
qt中如何这样放?
另外,我自己给菜单写了个slot,结果没有起作用?
      file->insertItem(tr("addUser"),this,SLOT(addUser()));
其中 addUser 已经实现了弹出一个窗口 ,代码如下:
           QDialog *dlg = new QDialog( this,QString::null, 0, 0 );
     dlg->exec();
大道泛兮,其可左右!
快速回复
限100 字节
 
上一个 下一个