菜单(Dialog和ContextMenu)的使用

11111111111Dialog 

 Dialog log=new AlertDialog.Builder(Main2Activity.this)
                        .setMessage("内容")
                        .setTitle("标题")
                        .setPositiveButton("删除", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {

                            }
                        })
                        .setNegativeButton("修改", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {

                            }
                        }).create();
                log.show();


222222222222ContextMenu

registerForContextMenu(but);
    

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
//获取菜单
        getMenuInflater().inflate(R.menu.caidan,menu);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.kaishi:
                Toast.makeText(MainActivity.this, "开始", Toast.LENGTH_SHORT).show();
                break;
            case R.id.jieshu:
                Toast.makeText(MainActivity.this, "结束", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onContextItemSelected(item);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(0,0,100,"背景");
        menu.add(0,1,101,"音乐");
        SubMenu subMenu = menu.addSubMenu(0, 2, 102, "设置");
        subMenu.add(0,3,103,"设置音乐");
        subMenu.add(0,4,104,"设置背景");
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case 0:
                Toast.makeText(MainActivity.this, "背景", Toast.LENGTH_SHORT).show();
                break;
            case 1:
                Toast.makeText(MainActivity.this, "音乐", Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(MainActivity.this, "设置", Toast.LENGTH_SHORT).show();
                break;
            case 3:
                Toast.makeText(MainActivity.this, "设置背景", Toast.LENGTH_SHORT).show();
                break;
            case 4:
                Toast.makeText(MainActivity.this, "设置音乐", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

223916_bL9y_2663968.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Qt 对话框中添加菜单,可以按照以下步骤操作: 1. 在 Qt Creator 中打开对话框的.ui文件。 2. 在窗口设计器中,从左侧的工具箱中拖拽一个菜单栏(QMenuBar)控件到对话框中。 3. 在菜单栏中添加菜单(QMenu)和菜单项(QAction)。 4. 双击每个菜单项并设置其文本和快捷键等属性。 5. 在代码中连接菜单项的 triggered 信号到槽函数,以便在菜单项被选中时执行相应的操作。 下面是一个简单的示例代码,演示如何在 Qt 对话框中添加菜单: ```cpp // 在对话框的构造函数中创建菜单菜单项 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 创建菜单栏 QMenuBar *menuBar = new QMenuBar(this); // 添加菜单 QMenu *fileMenu = new QMenu("文件"); menuBar->addMenu(fileMenu); // 添加菜单项 QAction *openAction = new QAction("打开", this); openAction->setShortcut(QKeySequence::Open); fileMenu->addAction(openAction); QAction *saveAction = new QAction("保存", this); saveAction->setShortcut(QKeySequence::Save); fileMenu->addAction(saveAction); // 连接菜单项的 triggered 信号到槽函数 connect(openAction, &QAction::triggered, this, &MainWindow::openFile); connect(saveAction, &QAction::triggered, this, &MainWindow::saveFile); // 将菜单栏添加到对话框中 layout()->setMenuBar(menuBar); } // 菜单项的槽函数 void MainWindow::openFile() { // 打开文件 } void MainWindow::saveFile() { // 保存文件 } ``` 在这个例子中,我们创建了一个名为“文件”的菜单,并向其中添加了“打开”和“保存”两个菜单项。然后,我们将这些菜单项的 triggered 信号连接到槽函数 openFile() 和 saveFile(),以便在菜单项被选中时执行相应的操作。 最后,我们将菜单栏添加到对话框中,使其显示在窗口的顶部。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值