QT中ComboBox如何获取选中的文本内容下面程序出错了,如何改正

QT中ComboBox如何获取选中的文本内容下面程序出错了,如何改正,第1张

错误代码都没有呢?估计是你定义的SLOT有问题。

你看看我写的这段代码吧,是选取QComboBox控件中的文本内容的。

intmain(intargc,charargv)

{

QApplicationapp(argc,argv);

QComboBoxcomboBox=newQComboBox;

QTextEdittextEdit=new QTextEdit;

QVBoxLayoutlayout=new QVBoxLayout;

layout->addWidget(textEdit);

layout->addWidget(comboBox);

comboBox->addItem(QObject::tr("ComboBoxItem01"));

comboBox->addItem(QObject::tr("ComboBoxItem02"));

comboBox-addItem(QObject::tr("ComboBoxItem03"));

QObject::connect(comboBox,SIGNAL(activated(QString)),textEdit,SLOT(insertPlainText(QString)));

QWidget mainWin;

mainWinsetLayout(layout);

mainWinresize(770,550);

mainWinshow();

returnappexec();

}

// Qt是界面编程了,可以脱离底层控制台进行文本交互,当然用更高级的东西

// ,即输入控件,当然如果你还想继续用C的东西也是可以的

// 列举下Qt的输入控件吧

1、QLineEdit

    QLineEdit  lineEdit = new QLineEdit(); // 单行输入框

    QString strTextInput = lineEdit->text(); // 获取输入内容

2、QTextEdit // 多行输入框

    QTextEdit textEdit = new QTextEdit (); 

    QString strTextInput = textEdit ->toPlanText(); // 获取输入内容

uitedLog->toPlainText();

QStringList list = uitedLog->toPlainText()split("\n");

再循环取 list写入文件就可以了。

QTextEdit,QPlainTextEdit,这些是用toPlainText()来获取文本内容,而QLineEdit,QLabel,QTextBlock等是用text()来获取内容。

看帮助文件,一般text()和toPlainText()不在一个类里并存的。

具体toPlainText()还有什么作用也不太清楚了。

下面只是给出一段演示代码,你需要根据实际情况进行修改

QTextEdit editer;

editersetText("abcdef");

//获取当前文本光标

QTextCursor cursor = editertextCursor();

//将光标移动到文本结尾,便于删除字符测试,实际上并不需要该步骤

cursormovePosition(QTextCursor::End);

//判断当前是否选中了文本,如果选中了文本则取消选中的文本,再删除前一个字符

if(cursorhasSelection())

cursorclearSelection();

//删除前一个字符

cursordeletePreviousChar();

//设置当前的光标为更改后的光标

editersetTextCursor(cursor);

editershow();

你可以调用subprocess的方法,获取stdout,然后将其append到textedit中;

你也可以将你的外部程序输出到文本,然后读取文件,将读取的结果放到textedit。

文本框是QLineEdit还是QTextEdit?

1、获取文本内容:

如果是QLineEdit调用text()即可,如果是QTextEdit可调用 toPlainText()

QString qsText = lineEdit->text();

或QString qsText = textEdit->text();

2

label->setText( qsText );

1、QFile

既然是读取文件,QFile类是必不可少的。QFile类提供了与C++语法相似的文件读取和写入 *** 作,支持文本文件和二进制文件。

2

2、QTextStream

使用QTextStream类,对文本文件读写时将会更加方便。该类重载了多个输入和输出 *** 作符。

3

3、QApplication

当我们进行文件读取时,如果文件比较大,读取时间可能会较长,这时,适当地调用QApplication类的静态函数setOverrideCursor设置光标为等待状态,可以让用户获知程序此时的工作状态。

END

二、 *** 作步骤

首先,在源文件中包含前面提到的头文件。然后,新建一个QFile对象,再以只读方式和文本文件方式打开指定的文件。

如果打开文件失败,d出对话框显示出错信息。在这里,tr引用的字符串中的%1参数对应于其后的第一个参数。该语句的显示效果如下面的图二所示。

为了进行文件内容的读取,我们先构建一个QTextStream对象,并将构建该对象的参数指定为之前创建的QFile对象。

然后,从QTextStream中读取所有文本,并将其设置到QTextEdit对象(即编辑框)中显示。在读取过程中,我们设置光标为等待状态。

5

现在,一切就大功告成了。立刻运行程序测试一下结果,完美地读取了文本文件内容!

以上就是关于QT中ComboBox如何获取选中的文本内容下面程序出错了,如何改正全部的内容,包括:QT中ComboBox如何获取选中的文本内容下面程序出错了,如何改正、qt中什么可以替代c语言中的scanf、qt中怎样从textedit中一行一行的读取数据,然后写入到文件中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9400485.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存