qt-初学Qt,为什么对textEdit使用settext函数程序会崩溃?

问题描述

初学Qt,为什么对textEdit使用settext函数程序会崩溃?

想要当textEdit内容改变时,设置textEdit内容为"shiyanshuju",但是改变内容时程序崩溃。谁能帮帮我?(mainwindow里只有一个textEdit)



mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
public slots:
    void accord();
};

#endif // MAINWINDOW_H

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->textEdit,SIGNAL(textChanged()),this,SLOT(accord()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::accord()
{
    ui->textEdit->setPlainText("shiyanshuju");
}

解决方案

textChanged()中调用setPlainText("shiyanshuju");设置文本,而这又会触发textChanged(),结果又调用setPlainText……
无限递归了。

解决方案二:

这个问题我遇到过,来晚了~~~

解决方案三:

控件对象是否合法 不然调用就可能出错

时间: 2024-09-20 10:57:32

qt-初学Qt,为什么对textEdit使用settext函数程序会崩溃?的相关文章

初学qt和c++,想向各位大神请教一下实现如下功能的思路以及要用到哪些类

问题描述 初学qt和c++,想向各位大神请教一下实现如下功能的思路以及要用到哪些类 解决方案 我的理解是你要做一个文件浏览系统,需要一个QTreeview显示,一个数据代理类QFileSystemModel,右边代码显示需要QTextEdit,若果你需要语法高亮,重载QTextedit,使用正则匹配,看看开发文档就OK 解决方案二: 功能就是新建一个项目之后,添加一个文件夹,将文件夹下的c或c++程序以列表显示出来,并能通过点击显示其对应的源程序 解决方案三: 你用树型控件不就行了吗 解决方案四

【C/C++学院】(13)QT开发技术/QT 基础/QT 信号和槽

Qt是一个跨平台的c++图形用户界面应用程序框架. Qt安装说明: windows下环境变量path需要加入以下路径,以便QT写的程序可以离开QT开发环境独立运行 C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\;C:\Qt\Qt5.2.0\Tools\mingw48_32\bin; linux下需要设置.bash_profile文件 PATH中加入/opt/Qt5.2.0/5.2.0/gcc/bin 用root用户登录系统,进入/usr/lib目录后执行 ln libGL

【QT】qt中用QToolBox实现qq抽屉效果时,如果好友分组数超过界面,怎么加滚动条QAQ

问题描述 [QT]qt中用QToolBox实现qq抽屉效果时,如果好友分组数超过界面,怎么加滚动条QAQ 问题是这样的,首先我的窗口是固定大小的.发现在QToolBox中添加item时如果数目过大 就会挤压已经存在的item,就是所有的item变小.我想问问能不能设置滚动条来滚动而不是 让item变小,以及一直没有找到让item固定大小的方法QAQ,item的大小不知道怎么控 制.以及纠结好几天了,跪谢大家,新年快乐~(≧▽≦)/~ 解决方案 http://www.cnblogs.com/rol

visual studio-哪位写过利用VS和qt写出坐标轴,并可以画图的程序在?求助啊,很急,谢谢了

问题描述 哪位写过利用VS和qt写出坐标轴,并可以画图的程序在?求助啊,很急,谢谢了 哪位写过利用VS和qt写出坐标轴,并可以画图的程序在?求助啊,很急,谢谢了

初学c的问题-初学c语言,网上学了个程序,我进行了修改,但是系统提示出错了。求解

问题描述 初学c语言,网上学了个程序,我进行了修改,但是系统提示出错了.求解 修改后的代码如下 #include #include int main(){ printf("hello"); HDC hdc = GetDC(0); SelectObject(hdc,GetStockObject(BLACK_BRUSH)); while(Rectangle(hdc,0,0,2000,2000)); }

qt语音qt传送门在哪

  QT传送门使用权限:任何QT用户均可查看该功能当您是一个或多个群的群主或群管理员时,可以对相应的群开启/关闭QT传送门 QT传送门的功能简介:它是通往QT房间的快捷入口.在您的QQ群中开启QT传送门,从此,您可以随时号召群友们一键进入QT语音世界.游戏.K歌.听电台,想怎么玩怎么玩. 第一步:打开房间内的[QQ群管理]页卡,可以进入到QT传送门界面. 第二步:点击,可以看到您拥有的QQ群列表.点击开启,可以为该群提供一个当前房间的入口(QT传送门);点击关闭,可以关闭该入口. 第三步:查看您

qt c++-Qt中,到底如何实现主窗口和子窗口之间的通信?

问题描述 Qt中,到底如何实现主窗口和子窗口之间的通信? RT,比如,当子窗口关闭时,重新打开主窗口.这个是如何通信的,希望能给上例子.我知道是用信号和槽,可是两个窗口(类)之间的信号和槽我还不太会.网上也没找到具体的例子.希望大婶们能给个好点的直观的例子. 解决方案 主窗体类为A,子窗体类为B,在A中实例化B,其对象为b,关闭b,但不要释放b,调用b的public方法返回数据.仔细理解. void A::buttonClick(){ B b; b.exec(); b.getData();} 或

qt c++-QT打包发布,找依赖文件DLL

问题描述 QT打包发布,找依赖文件DLL 5C GPSVC.DLL IESHIMS.DLL.QT打包找依赖文件时这两个文件老是不可以.求大神解答.我已经拷贝了这两个文件.怎么还是不可以?我是按照http://blog.csdn.net/gzshun/article/details/7495488这里面的教程.![图片说明](http://img.ask.csdn.net/upload/201604/14/1460603135_724936.png)![图片说明](http://img.ask.c

qt c++-qt中一个简单数据传送问题

问题描述 qt中一个简单数据传送问题 想通过点击1按钮后pc会向串口发送数据1,使用了qt第三方串口类,不知道这样写对不对?求大神指教一下. 解决方案 qt中的一个问题 解决方案二: QT5 已经添加了QSerialPort 类了 你这样写 应该没啥问题的 解决方案三: QT5 已经添加了QSerialPort 类了 你这样写 应该没啥问题的