1connect(&button,SIGNAL(clicked()),this,SLOT(copy())
试试。
2
connect(sender, signal, receiver, slot)
即当sender的signal被触发时,由receiver的slot来响应。
如果你重载了QLineEdit:
class QMyLineEdit : public QLineEdit {
//
}
并重写了copy方法:
void QMyLineEdit::copy()
{
QString str;
str = editline->text();
editline2->setText(str);
QLineEdit::copy();
}
然后:
QMyLineEdit editline2;
那么,你的代码是可行的。
3QLineEdit::copy [slot]的默认行为是把编辑框中的文本传递到剪贴板中的。如果这里的copy只是根据第一个编辑框的内容来设置第二个编辑框的内容,建议换成其它函数名。
QT中提取QTextEdit文本框中的内容,代码如下
int a[100];
QString str = ui->textEdit->toPlainText();
int len = strlength();
for(int i = 0; i < len; ++i)
{
QChar t = strat(i);
a[i] = ttoAscii() - '0';
}
'textEdit的数据合理性以及数组大小自己去设定
要根据comboBox的选项不同来改变LineEdit的输入数值范围我们可以利用QComboBox的
void currentIndexChanged ( const QString & text ) 这个信号,但选择改变的时候就会
被emit;
要设定LineEdit的输入数值范围我们可以用setValidator()来设置LineEdit的正则表达式。
然后再自定义一个槽根据index来为lineEdit设置不同的Validator。
connect 信号currentIndexChanged 和这个槽 就可以完成这个功能。
偶写的程序
#include "dialogh"
#include <QtGui>
Dialog::Dialog(QWidget parent) :
QDialog(parent)
{
comboBox = new QComboBox;
lineEdit = new QLineEdit;
comboBox->addItem("1");
comboBox->addItem("2");
comboBox->addItem("3");
QHBoxLayout layout = new QHBoxLayout;
layout->addWidget(comboBox);
layout->addWidget(lineEdit);
this->setLayout(layout);
connect(comboBox,SIGNAL(currentIndexChanged(int)),
this,SLOT(selectChanged(int)));
this->selectChanged(0);
}
void Dialog::selectChanged(int index)
{
QRegExp rx;
switch(index)
{
case 0:
rxsetPattern("^\\d$");
break;
case 1:
rxsetPattern("^\\d{0,2}$");
break;
case 2:
rxsetPattern("^\\d{0,3}$");
break;
default:
break;
}
QValidator validator = new QRegExpValidator(rx, this);
lineEdit->setValidator(validator);
}
以上就是关于qt EditLine 读取 显示全部的内容,包括:qt EditLine 读取 显示、C++ qt如何获取编辑框内容、qt编程,请教个大家这里要怎么写,左边是个comboBox类,可选择1,2,3三个值,后面的line edit可根据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)