
错误代码都没有呢?估计是你定义的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中一行一行的读取数据,然后写入到文件中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)