问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

...点击pushbutton并在TextBrowser显示lineEdit中的内容

提问网友 发布时间:2024-04-16 15:01
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
3个回答
热心网友 回答时间:2024-04-21 01:23

信号槽机制是这样的:connect(XXX,SIGNAL(...),this,SLOT(YYY));

帮你实现了你要的功能:(直接划到最底下有完整代码)

1,写在.h的内容,有三句话,注意位置

在piblic:添加声明  !!!

QString str;   //声明str,用于接收输入的字符串

在三个权限关键字最后另起一行写 !!!

public slots://这里要回车,字体变黄色

    void on_clicked();//函数名随意,括号不能少,有必要时括号里要写参数   

2,在.cpp中调用。

 在.h把鼠标放在on_clicked()右击,在cpp添加定义(列表第七项下面第二项),系统会自己帮定义,在定义里写需要绑定的事件,比如你这里要将lineEdit中的字符串在TextBrowser中显示。

void MainWindow::on_clicked(){
str = ui->lineEdit->text(); //这句获取输入的信息,一定要写在按钮槽函数里,因为按钮按下之前str存的值为空。这是按钮触发了才把值存到str中,没按之前我们就写了东西,所以按下了str读到的是自己写的内容。写在外面错误的方式就算自己写了内容运行的时候仍然是空,因为这里不是动态获取,自己消化一下

//   ui->textBrowser->clear(); //如果希望每一次按确定后只显示一行就用这条语句,先把原来浏览器的内容清空,再把结果显示出来。
ui->textBrowser->append(str+"\n");//这里写的功能是把str追加到textBrowser中;我这里用换行是把第二次的输入也显示到浏览器中
//     ui->textBrowser->setText(str); //这里也可以用setText方法,效果一样
}

3,在主函数写完整信号槽。

 connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_clicked()));  //连接信号槽事件

//格式:connect(发送信号控件,SIGNAL(控件里的一个信号),接收的界面或控件(在同一页面一般是this),SLOT(刚定义的槽函数(函数写实现的功能));

运行效果图:

运行的整体效果

输入第一句话,显示的内容

第二句,回车格式在代码加的

一样的,可以输入任何字符,数字,中文

sentence4

窗口可以拉伸调整的

鼠标放在窗口边沿,窗口可以放大缩小,任意拉伸。qt application默认的。

头文件代码截图


源文件代码截图


ui界面和对象名称

//头文件:太啰嗦了,你自己把啰嗦的删掉吧,我只是怕初学者会理解不到位,故意啰嗦的
class MainWindow : public QMainWindow{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QString str;   //声明str,用于接收输入的字符串

private:
    Ui::MainWindow *ui;

public slots:    //这里要回车,字体变黄色
    void on_clicked();  //函数名随意,括号不能少,有必要时括号里要写参数
};//源文件:
MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->lineEdit->setPlaceholderText(QStringLiteral("Please input..."));
    
///*以下两条语句写的位置不对,可能会得不到期望效果(不信你就解除屏蔽看看效果)*///
//    QString str;   //创建字符串,错误,最好在头文件声明
//    str = ui->lineEdit->text();//获取lineEdit的文本内容(最初文本内容为空,程序一运行就把lineEdit的空白存到str了,所有点击按钮发现上面是没有内容的)

    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_clicked()));  //连接信号槽事件
///格式:connect(发送信号控件,SIGNAL(控件里的一个信号),接收的界面或控件(在同一页面一般是this),SLOT(刚定义的槽函数(函数写实现的功能));

}

void MainWindow::on_clicked()
{
     str = ui->lineEdit->text(); //这句获取输入的信息,一定要写在按钮槽函数里,因为按钮按下之前str存的值为空或者未知。
//     ui->textBrowser->clear();  //如果希望每一次按确定后只显示一行就用这条语句,先把原来浏览器的内容清空,再把结果显示出来。
     ui->textBrowser->append(str+"\n");//这里写的功能是把str追加到textBrowser中;我这里用换行是把第二次的输入也显示到浏览器中

//     ui->textBrowser->setText(str); //这里也可以用setText方法,效果一样
}
热心网友 回答时间:2024-04-21 01:26
第一个SLOT中不应该这么写吧,slot中应该是函数名吧,你把那条语句copy出来放在一个函数中看可以吗?
热心网友 回答时间:2024-04-21 01:28
SLOT(str=lineEdit->text()),这里面要添槽函数,而不是这样弄,设计就有问题。
connect(pushButton,SIGNAL(clicked()),this,SLOT(OnBtnClicked()));

void MainWindow::OnBtnClicked()
{
QString str=ui->lineEidt->text();
ui->textBrowser->setText(str)

}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

transportation可以怎么翻译? 捡到刺猬代表什么预兆 英语翻译高手请进 All metals are not good conductors 这句话... 不愁笑是什么意思? 海水过滤后可以灌盖农作物吗? 马盘金星土星相位 几个同学一起成立了一个新的社团,能否不开立验资户(临时账户),直接开立... 医院等级评审后奖励申请书怎么写? i5六代可以装32位win8系统吗 6代i5能安装macos吗 关于热处理是淬火硬度问题 马氏体的硬度主要取决于什么? 部门奖励申请书范文 鸽子能看得见磁线吗? 鸽子看得见后面吗 只有一根内网专线能上外网吗 ...还是引产,我媳妇现在又怀孕了,如果不要以后还能在怀孕吗? ...的t厂n厂的全称是什么?都在什么地方?哪个厂的1675N好? 公元一九九年五月初八生的人是什么星座 农历1995.5.8到底是什么星座啊 垃圾用日本字怎么写? 这电磁阀怎么看,中间那状态的正方形怎么是虚线,这是三位四通吗?_百度... 旧车主的保险如何查? 律师有权依法在公安调取证据吗 现在什么才叫兄弟打架出来帮忙替你出面的吗?兄弟到底是个什么含义 一只鳄鱼大约长几米? ()是涵养政治生态的必要条件和重要任务 有什么营养好喝的燕麦豆奶品牌推荐? 尼罗河鳄鱼的身子能长到几米 秦皇岛做个妇科检查要多少钱?在哪个医院做比较适合? 毛豆炒肉要不要焯水 毛豆要不要焯水 角标显示怎么设置华为手机的角标设置 不锈钢电饭煲漏电怎么修 ...明、沅、洁”几个字作为开头做成诗句关于浪漫爱情的句子? 蕉鹿的详细释义 为什么说好人比坏人更加可怕呢? 有一句名言,大概意思是:坏人之所以能够得逞 是因为好人做的不够... 谁给我取一对“洁”字开头“倩”字结尾的六字爱情对联,急用!!!_百... 2021年农历正月初七雨水黄历宜忌详解2021年农历正月初七雨水介绍_百度... 宠物托运收费标准,我有一只小狗有只小狗厦门托运西安?
Top