精华内容
下载资源
问答
  • QT 文本框多行显示

    千次阅读 2019-02-27 16:07:15
    QT 文本框多行显示 使用PyQt中的Font和QFontMetrics类。QFontMetrics中有一个函数是horizontalAdvance可以获取覆盖字符串所需要的矩阵的像素宽度,height可以获得字符串所需要的矩阵的像素高度,然后根据这个像素...

    QT 文本框多行显示

    使用PyQt中的Font和QFontMetrics类。QFontMetrics中有一个函数是horizontalAdvance可以获取覆盖字符串所需要的矩阵的像素宽度,height可以获得字符串所需要的矩阵的像素高度,然后根据这个像素宽度,再裁切下字符串就可以自动换行了。

    QFont font("times", 24);
    QFontMetrics fm(font);
    int pixelsWide = fm.horizontalAdvance("What's the width of this text?");
    int pixelsHigh = fm.height();
     

    展开全文
  • Qt文本框的创建与使用

    千次阅读 2018-12-09 23:07:00
    常用的三种文本框组件:  单行文本框编辑组件:QLineEdit  多行文本框编辑组件:QPlainTextEdit  富文本框编辑组件: QTextEdit   文本框的创建: QLineEdit* le = new QLineEdit(); le.move(); le.set...

    常用的三种文本框组件:

        单行文本框编辑组件:QLineEdit

        多行文本框编辑组件:QPlainTextEdit

        富文本框编辑组件:    QTextEdit

     

    文本框的创建:

    QLineEdit* le = new QLineEdit();

    le.move();

    le.setSize();

     

    setCentralWidget(le); //添加中央组件

     

    文本框对象的架构:

     

     

    //文章参考狄泰软件学院Qt视频教程

    展开全文
  • QT文本框输入限制setValidator

    千次阅读 2018-01-17 16:31:19
    <font size="3">QRegExp是Qt的正则表达式类. Qt中有两个不同类的正则表达式. 第一类为元字符.它表示一个或多个常量表达式. 令一类为 转义字符,它代表一个特殊字符. 一.元字符 . 匹配任意...
    设置正则表达式.
    类似下面的
    QRegExp
    这里的用法就是用来检测QString等字符串错误的,例如文件名里面最好就不出现<>|/\:等,所以可以如下定义QRegExp rx("[a-zA-Z0-9\-\\\_]{25}"); 25就是所输入的字符串个数!a-z当然就是a-z,你也可以abcdefghijklm....等等.\- 就是-

    好了,现在可以把这个rx绑入QRegExpValidator.

    QRegExpValidator *pRevalidotor = new QRegExpValidator(regExp, this);

    绑入lineEdit :

    pEditWell->setValidator(new QRegExpValidator(regExp, this));

    常用的:
    "^\d+$"  //非负整数(正整数 + 0) <br>

    "^[0-9]*[1-9][0-9]*$"  //正整数 <br>

    "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) <br>

    "^-[0-9]*[1-9][0-9]*$"  //负整数 <br>

    "^-?\d+$"    //整数 <br>

    "^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) <br>

    "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 <br>

    "^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) <br>

    "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 <br>

    "^(-?\d+)(\.\d+)?$"  //浮点数 <br>

    "^[A-Za-z]+$"  //由26个英文字母组成的字符串 <br>

    "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 <br>

    "^[a-z]+$"  //由26个英文字母的小写组成的字符串 <br>

    "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 <br>

    "^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 <br>

    "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 <br>

    "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url <br>

    "^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$" // 年-月-日 <br>

    "^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" // 月/日/年 <br>

    "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Email <br>

    "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码 <br>

    "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"  

    //IP地址</font></p>

    <p><font size="3" color="#ff9900">^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   //MAC地址的正则表达式 <br>

    ^[-+]?\d+(\.\d+)?$ //值类型正则表达式</font></p>

    </font><br>

    <br>

    <font size="3">QRegExp是Qt的正则表达式类.<br>

    Qt中有两个不同类的正则表达式.<br>

    第一类为元字符.它表示一个或多个常量表达式.<br>

    令一类为 转义字符,它代表一个特殊字符.<br>

    <br>

    一.元字符<br>

    . 匹配任意单个字符.例如, 1.3 可能是1. 后面跟任意字符,再跟3<br>

    ^ 匹配字符串首. 例如, ^12可能是123,但不能是312<br>

    $ 配字符串尾. 例如, 12$可以是312, 当不能是 123<br>

    [] 匹配括号内输入的任意字符.[123]可以为1, 2 或3<br>

    * 匹配任意数量的前导字符. 例如, 1*2可以为任意数量个1(甚至没有), 后面跟一个2<br>

    + 匹配至少一个前导字符. 例如, 1+2必须为一个或多个1, 后跟一个2<br>

    ? 匹配一个前导字符或为空. 例如 1?2可以为2或这12<br>

    <br>

    二.统配模式<br>

    通过 QRegExp::setPatternSyntax(QRegExp::Wildcard);可以将元字符设置为统配模式.在统配模式下,只有3个元字 符可以使用.他们的功能没有变化.<br>

    ? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2<br>

    * 匹配任意一个字符序列. 例如, 1*2, 可以为1, 后面跟任意数量的字符, 再跟一个2<br>

    [] 匹配一个定义的字符集合. 例如, [a-zA-Z\.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.<br>

    <br>

    三.转义序列<br>

    \. 匹配"."<br>

    \^ 匹配"^"<br>

    \$ 匹配"$"<br>

    \[ 匹配"["<br>

    \] 匹配"]"<br>

    \* 匹配"*"<br>

    \+ 匹配"+"<br>

    \? 匹配"?"<br>

    \b 匹配响铃字符,使计算机发出嘟的一声.<br>

    \t 制表符号<br>

    \n 换行符号<br>

    \r 回车符铪<br>

    \s 任意空格<br>

    \xnn 匹配16进制为nn的字符<br>

    \0nn 匹配8进制的nn字符<br>

    这些表达式均以\开始, 与C++的转义字符相同,所以为了定义QRegExp中的一个转义序列,<br>

    需要在前面添加两个\\
    展开全文
  • //写入文本框 ASCLL转换为HEX /* 将Ascii字符串转换为Hex字符串 */ char byteBuff; QString temp; QByteArray data = ui->seedtext->toPlainText().toLocal8Bit(); foreach(char byte, data) { // 高字节 byteBuff ...

    HEX转换为ASCLL

        /* 将Hex字符串转换为Ascii字符串 */
        QTextCodec *tc = QTextCodec::codecForName("System");
        QString temp;
        QByteArray ascii_data;
        QString text = ui->seedtext->toPlainText().toUtf8();	//获取文本
        QStringList temp_list = text.split(' ', QString::SkipEmptyParts);
        foreach(QString str, temp_list)
        {
            ascii_data.append(str);
        }
        // 将ascii_data中的16进制数据转化为对应的字符串,比如\x31转换为"1"
        temp = tc->toUnicode(QByteArray::fromHex(ascii_data));
        ui->seedtext->setText(temp);	//写入文本框
    

    ASCLL转换为HEX

        /* 将Ascii字符串转换为Hex字符串 */
        char byteBuff;
        QString temp;
        QByteArray data = ui->seedtext->toPlainText().toLocal8Bit();
        foreach(char byte, data)
        {
            // 高字节
            byteBuff = (byte & 0xF0)>>4;
            temp += (byteBuff < 10) ? byteBuff+'0' : byteBuff+'A'-10;
    
            // 低字节
            byteBuff = byte&0x0F;
            temp += (byteBuff < 10) ? byteBuff+'0' : byteBuff+'A'-10;
            temp += ' ';
        }
        ui->seedtext->setText(temp);
    

    或者也可以这样写成一个函数

    QString HexToAscll(QString text)
    {
        /* 将Hex字符串转换为Ascii字符串 */
        QTextCodec *tc = QTextCodec::codecForName("System");
        QString temp;
        QByteArray ascii_data;
        QStringList temp_list = text.split(' ', QString::SkipEmptyParts);
        foreach(QString str, temp_list)
        {
            ascii_data.append(str);
        }
        // 将ascii_data中的16进制数据转化为对应的字符串,比如\x31转换为"1"
        temp = tc->toUnicode(QByteArray::fromHex(ascii_data));
        return temp;
    }
    
    QString AscllToHex(QString text)
    {
        /* 将Ascii字符串转换为Hex字符串 */
        char byteBuff;
        QString temp;
        QByteArray data = text.toLocal8Bit();
        foreach(char byte, data)
        {
            // 高字节
            byteBuff = (byte & 0xF0)>>4;
            temp += (byteBuff < 10) ? byteBuff+'0' : byteBuff+'A'-10;
    
            // 低字节
            byteBuff = byte&0x0F;
            temp += (byteBuff < 10) ? byteBuff+'0' : byteBuff+'A'-10;
            temp += ' ';
        }
        return temp;
        //ui->seedtext->setText(temp);
    }
    
    展开全文
  • 在电脑上在文本框中,任何字符都能输入,正常显示。但移植到android系统的平板上,有些特殊字符就输入就显示为乱码,如:空心的圆、空心的五角星、※等等。有什么方法可以让这些特殊图形字符不显示为乱码?或者怎么...
  • Qt文本框

    2020-03-28 22:30:00
    QLineEdit是指单行文本框控件,只可输入单行字符串,若想输入多行,则可使用QTextEdit 常用方法 一般情况下,我们需要限制文本框的输入内容,比如纯数字,或者纯字母,在这种情况下,我们采取正则表达式+掩码的方法...
  • QT限制文本框输入的方法

    千次阅读 2019-04-20 21:10:48
    QT限制文本框输入的方法 界面编程的时候,对文本框的处理往往是个很头疼的事情: 一是焦点进入文本框时,从人性化考虑,应选择文本框中文本,方便输入; 二是,限制文本框的输入,只允许输入有效的文本,如果不...
  • QT创建程序_串口助手_界面布局 QT创建程序_串口助手_代码详解 文本框显示换行 增加\n 即可
  • QT_文本框搜索小程序

    2017-12-20 11:52:45
    可以根据输入框中输入的关键词在之前录入的字符串中搜索包含当前关键词的字符串并显示在QTextEdit控件中。 按清除键可以清除之前录入的所有字符串。
  • 我想让文本框及各个按键居中且自适应,但是在顶层窗体试了各种布局,它们会将文本框放的很大或者让文本框的宽度很不对。 如何让文本框的大小固定在自己喜欢的数值又能满足自适应呢?
  • Qt 入门 之 文本框

    千次阅读 2018-10-17 23:27:01
    单行文本框 Line Edit 多行文本框 Text Edit
  • 利用正则表达式,例: ...QRegExp regx("[0-9]{1,10}"); QValidator *validator = new QRegExpValidator(regx, ui->num ); ui->num->setValidator(validator);...//姓名栏只能为汉字,长度不超过4位 ...
  • Qt :: CaseInsensitive ) ; //对大小写不敏感 ui - > lineEdit - > setCompleter ( com ) ; //输入有提示:::在这里遇到一个问题就是应该在UI里面加了控件之后先运行一下,再在这儿设置才可以,要不然这里显示...
  • Qt限制文本框变化输入条件的方法

    千次阅读 2013-06-01 00:00:08
    在《QT限制文本框输入的方法》一文中,介绍了如何通过正则表达式来限制文本框的方法,但是这种做法,是预先知道文本框的限制范围,然后再编写对应的正则表达式,然现实中往往好多应用事先并不知道文本框的输入范围,...
  • else if (event->modifiers() == (Qt::ShiftModifier | Qt::ControlModifier)) { this->setText(QString("CTRL+SHIFT+%0").arg(strKey)); } } } 主要是用在一些软件高级设置中的自己输入快捷键的情况下...
  • QT纯代码文本框

    2020-06-10 22:17:31
    .por #------------------------------------------------- # # Project created by QtCreator 2020-06-03T22:29:01 # #------------------------------------------...greaterThan(QT_MAJOR_VERSION, 4): QT += wid..
  • Qt限制文本框输入的方法

    万次阅读 2013-05-15 23:49:46
    在做界面编程的时候,对文本框的处理往往是个很头疼的事情,一是焦点进入文本框时,从人性化考虑,应选择文本框中文本,方便输入;二是,限制文本框的输入,只允许输入有效的文本,如果不这样做的话,那么就需要在...
  • Qt控件--炫酷文本框

    2021-04-08 17:50:33
    QT封装的文本框,标签在文本框上,点击文本框后,标签上浮,光标从文本框移走后,如果文本框文本为空,则标签下浮到原始位置,文本框显示下边框,文本框获取光标时,下边框从中心向两侧动画展开,文本框失去光标时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,242
精华内容 2,496
关键字:

qt文本框