0
点赞
收藏
分享

微信扫一扫

Qt在MainWndow中的菜单栏中实现文本复制功能



目录

  • 一、新建一个项目:
  • 二、拖控件和添加对应代码
  • 三、功能扩展


一、新建一个项目:

Qt在MainWndow中的菜单栏中实现文本复制功能_工具栏


Qt在MainWndow中的菜单栏中实现文本复制功能_qt_02


Qt在MainWndow中的菜单栏中实现文本复制功能_qt_03


Qt在MainWndow中的菜单栏中实现文本复制功能_qt_04


Qt在MainWndow中的菜单栏中实现文本复制功能_控件_05


到这就建好一个项目了。

二、拖控件和添加对应代码

打开界面文件

Qt在MainWndow中的菜单栏中实现文本复制功能_qt_06


从部件列表窗口中找到 LineEdit 和 Text Edit 部件,拖入设计区

Qt在MainWndow中的菜单栏中实现文本复制功能_工具栏_07


双击菜单栏“在这里输入”

Qt在MainWndow中的菜单栏中实现文本复制功能_工具栏_08


输入菜单名称,并且添加上快捷键,按回车

Qt在MainWndow中的菜单栏中实现文本复制功能_qt_09


然后添加子菜单,添加子菜单名字的时候可能会无法输入中文名称,这时可以在其他文本编辑器(像记事本或者直接拖入一个lable,在lable里写好再剪切复制)中写好复制过来,按回车添加子菜单。

Qt在MainWndow中的菜单栏中实现文本复制功能_工具栏_10

为了操作方便可以将子菜单放入工具栏中,方法是将下方的Action Editor中的action拖到工具栏中即可:

Qt在MainWndow中的菜单栏中实现文本复制功能_qt_11


右击–>“转到槽”–>“triggered”–>“OK”

Qt在MainWndow中的菜单栏中实现文本复制功能_子菜单_12


Qt在MainWndow中的菜单栏中实现文本复制功能_控件_13


在槽函数中添加如下代码:

Qt在MainWndow中的菜单栏中实现文本复制功能_子菜单_14

void MainWindow::on_action_C_triggered()
{
    QString s = ui->lineEdit->text();
    ui->textEdit->setText(s);
    ui->lineEdit->clear();  //写完后清楚输入框
}

运行该项目,在lineEdit中输入文字:

Qt在MainWndow中的菜单栏中实现文本复制功能_控件_15


点击“复制”:

Qt在MainWndow中的菜单栏中实现文本复制功能_qt_16


发现功能已经实现。

三、功能扩展

想将lineEdit 这个输入框放到工具栏那里,并且实现输入文字之后接着按回车实现文本复制。

打开mainwindow.cpp ,添加如下代码:

Qt在MainWndow中的菜单栏中实现文本复制功能_子菜单_17

ui->setupUi(this);
ui->mainToolBar->addWidget(ui->lineEdit);

上面代码的作用是将lineEdit 添加到工具栏。

接下来实现按回车实现文本复制:

先回到设计界面,在lineEdit 控件上–>右击–>转到槽,选择returnPress() 槽函数

Qt在MainWndow中的菜单栏中实现文本复制功能_控件_18


将前面实现复制功能的语句复制到该函数下面即可:

Qt在MainWndow中的菜单栏中实现文本复制功能_控件_19

QString s = ui->lineEdit->text();
ui->textEdit->setText(s);
ui->lineEdit->clear();  //写完后清楚输入框

点击运行,可以看到 lineEdit 跑到了工具栏上面:

Qt在MainWndow中的菜单栏中实现文本复制功能_工具栏_20


在 lineEdit 中输入文本,按下回车可以实现文本的复制:

Qt在MainWndow中的菜单栏中实现文本复制功能_控件_21


Qt在MainWndow中的菜单栏中实现文本复制功能_控件_22


举报

相关推荐

0 条评论