范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Qt之QLineEdit

  QLineEdit是一个单行文本输入框。
  QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放(见setDragEnabled())。
  通过改变输入框的echoMode(),同时也可以设置为一个"只写"字段,用于输入密码等。
  文本的长度可以被限制为maxLength(),可以使用一个validator()或inputMask()来任意限制文本。当在同一个输入框中切换验证器和输入掩码的时候,最好是清除验证器或输入掩码,防止不确定的行为。简述内容 详细介绍 共有类型 常用接口 信号 共有槽示例 QLineEditEchoMode效果 效果 源码 自定义搜索框 效果 源码 验证器 效果 源码 输入掩码 效果 源码更多参考内容详细介绍
  与其相关的一个类是QTextEdit - 允许多行、富文本编辑。
  可以使用setText()或insert()来改变文本,通过text()来获取文本;显示的文本(可能不同,详见:EchoMode)通过displayText()来获取。文本可以使用setSelection()或selectAll()来选中,选中的文本可以被cut()、copy()和paste(),使用setAlignment()来设置文本的对齐方式。
  当文本改变时,会发射textChanged()信号。当使用setText()改变文本时,textEdited()信号也会发射。光标位置发生变化时,会发射cursorPositionChanged()信号,当Return或Enter键被按下时,发射returnPressed()信号。
  当编辑完成,或者是因为输入框失去焦点,或Return/Enter键被按下时,发出的editingFinished()信号。
  注意:如果输入框有一个验证器,returnPressed()/editingFinished()信号只有在验证期返回QValidator::Acceptable的时候才会被发射。
  默认情况下,QLineEdit具有由平台风格指南规定的边框,可以通过setFrame(false)将其关闭。
  【领QT开发教程 学习资料,点击下方链接莬费领取  ,先码住不迷路~】
  点击 领取「链接」
  默认键被绑定描述如下。输入框还提供了一些编辑选项的上下文菜单(通常通过单击鼠标右键调用)。
  按键
  动作
  Left Arrow
  光标左移一个字符
  Shift+Left Arrow
  光标左移并选择一个字符
  Right Arrow
  光标右移一个字符
  Shift+Right Arrow
  光标右移并选择一个字符
  Home
  将光标移动到行的开头
  End
  将光标移动到行的末尾
  Backspace
  删除光标左侧字符
  Ctrl+Backspace
  删除光标左侧的单词
  Delete
  删除光标右侧字符
  Ctrl+Delete
  删除光标右侧的单词
  Ctrl+A
  全选
  Ctrl+C
  复制选中的文本复制到剪贴板
  Ctrl+Insert
  复制选中的文本复制到剪贴板
  Ctrl+K
  删除此处至末尾所有内容
  Ctrl+V
  粘贴剪贴板的文本到输入框中
  Shift+Insert
  粘贴剪贴板的文本到输入框中
  Ctrl+X
  剪切选中的文本到剪贴板
  Shift+Delete
  剪切选中的文本到剪贴板
  Ctrl+Z
  撤销上一次操作
  Ctrl+Y
  重做上一次操作共有类型枚举:QLineEdit::ActionPosition描述如何显示加入到输入框中的action部件。
  常量
  值
  描述
  QLineEdit::LeadingPosition
  0
  当使用布局方向Qt::LeftToRight时,部件显示在文本左侧;使用Qt::RightToLeft时,则显示在右侧。   QLineEdit::TrailingPosition   1
  当使用布局方向Qt::LeftToRight时,部件显示在文本右侧;使用Qt::RightToLeft时,则显示在左侧。   枚举:QLineEdit::EchoMode描述输入框如何显示其内容。   常量   值   描述   QLineEdit::Normal   0
  正常显示输入的字符,默认选项。   QLineEdit::NoEcho   1
  不显示任何输入,常用于密码类型,其密码长度都需要保密的时候。   QLineEdit::Password   2
  显示平台相关的密码掩码字符,而不是实际的字符输入。   QLineEdit::PasswordEchoOnEdit   3
  在编辑的时候显示字符,负责显示密码类型。常用接口   这里列举了一些常用接口,但并非全部的,要获得更多信息请参考助手。QString text() const   返回输入框的当前文本。void addAction(QAction * action, ActionPosition position)QAction * addAction(const QIcon & icon, ActionPosition position)   添加action至指定位置。Qt::Alignment alignment() constvoid setAlignment(Qt::Alignment flag)alignment : Qt::Alignment   属性保存了输入框的对齐方式(水平和垂直方向)。Qt::AlignJustify映射到Qt::AlignLeft。   默认情况下,该属性包含Qt::AlignLeft和Qt::AlignVCenter。QCompleter* completer() constvoid setCompleter(QCompleter * c)   QCompleter后面详细讲解。void deselect()   取消选中任何已选中的文本。QString displayText() const   返回显示的文本。默认值为一个空字符串。   如果echoMode是Normal,和text()返回的一样;如果EchoMode是Password或PasswordEchoOnEdit,会返回平台相关的密码掩码字符,长度为text().length(),例如:"******";如果EchoMode是NoEcho,返回一个空字符串""。QString selectedText() const   返回选中的的文本。如果没有选中,返回一个空字符串。默认为一个空字符串。int cursorPosition() constvoid setCursorPosition(int)cursorPosition : int   属性包含输入框当前光标的位置。设置光标位置时,会导致应有的重绘。默认情况下,属性值为0。EchoMode echoMode() constvoid setEchoMode(EchoMode)echoMode : EchoMode   属性保存了输入框的显示模式。显示模式决定了输入框对用户的文本显示。默认值为Normal   最常用的设置是Normal,用户输入文本被逐字显示;还包含其它模糊输入,例如:NoEcho、Password和PasswordEchoOnEdit。   部件的显示、复制或拖动文本的行为受此设置的影响。int maxLength() constvoid setMaxLength(int)maxLength : int   此属性包含文本的最大允许长度。如果文本太长,将从限制的位置截断。默认值为32767。   如果发生截断任何选中的文本将取消选中,光标位置设置为0,并且显示字符串的第一部分。   如果输入框有一个输入掩码,那么,掩码定义字符串的最大长度。QString placeholderText() constvoid setPlaceholderText(const QString &)placeholderText : QString   当输入框为空时,输入框显示一个灰色的占位符文本。默认值为一个空字符串。   通常,一个空的输入框显示占位符文本,即使它有焦点。然而,如果内容水平居中,当输入框有焦点时,占位符文本不显示在光标下。bool isReadOnly() constvoid setReadOnly(bool)readOnly : bool   此属性保存输入框是否为只读。   在只读模式下,用户仍然可以将文本复制到剪贴板,或拖放文本(如果echoMode()是Normal),但不能编辑它。   只读模式下,QLineEdit也不显示光标。void setSelection(int start, int length)   从位置start选择文本为length个字符,允许负长度。void setValidator(const QValidator * v)   设置输入框的验证器,将限制任意可能输入的文本。如果v == 0,将会清除当前的输入验证器   如果v = = 0,setValidator()删除当前的输入验证器。初始设置是没有输入验证器(即:接受任何输入到maxLength())。const QValidator * validator() const   返回一个当前输入的验证器指针,如果没有设置验证器,返回0。QString inputMask() constvoid setInputMask(const QString & inputMask)inputMask : QString   此属性保存验证器的输入掩码。如果没设置研发,inputMask() 或返回一个空字符串。传递一个空字符串可以取消验码并返回一个正常QLineEdit。   下表列出了可在一个输入掩码中使用的字符。空格字符,是一个空白的缺省字符,当一个字符是允许的,但不是必须的请胯下。   字符   含义   A   ASCII字母字符是必须的,A-Z、a-z。   a   ASCII字母字符是允许的,但不是必须的。   N   ASCII字母字符是必须的,A-Z、a-z、0-9。   n   ASCII字母字符是允许的,但不是必须的。   X   任何字符都是必须要的。   x   任何字符都是允许的,但不是必须要的。   9
  ASCII数字是必须要的,0-9。   0
  ASCII数字是允许的,但不是必须要的。   D   ASCII数字是必须要的,1-9。   d   ASCII数字是允许的,但不是必须要的 (1-9)。   #   ASCII数字或加/减符号是允许的,但不是必须要的。   H   十六进制数据字符是必须要的,A-F、a-f、0-9。   h   十六进制数据字符是允许的,但不是必须要的。   B   二进制数据字符是必须要的,0-1。   b   二进制数据字符是允许的,但不是必须要的。   >   所有的字符字母都大写   <   所有的字符字母都小写   !   关闭大小写转换   使用 去转义上述列出的字符。   掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和用于空白的字符,空白字符在编辑后总是从文本中删除。   示例:   掩码   注意事项   000.000.000.000;_   IP地址,空白是_。   HH:HH:HH:HH:HH:HH;_   MAC地址。   0000-00-00   ISO日期,空白是空格。   >AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#   License号,空白是-和所有(字母)字符转换为大写。信号void selectionChanged()   只要选择改变这个信号就会被发射。void cursorPositionChanged(int old, int new)   只要光标移动,这个信号就会发射。前面的位置old,新的位置是new。void editingFinished()void returnPressed()void textChanged(const QString & text)void textEdited(const QString & text)   参考:"详细描述"共有槽void clear()   清除输入框内容void copy() const   如果echoMode()是Normal,将选中的文本复制到剪贴板。void cut()   如果echoMode()是Normal,将所选文本复制到剪贴板并删除它。   如果当前的验证不允许删除选定的文本,cut()将复制而不删除。void paste()   如果输入框不是只读的,插入剪贴板中的文本到光标所在位置,删除任何选定的文本。   如果最终的结果不被当前的验证器接受,将没有任何反应。void redo()   重做上次操作,如果redo可用(isRedoAvailable() )。void selectAll()   选中所有文本(即:高亮),并将光标移动到末尾。当一个默认值被插入时,这非常有用,因为如果用户在点击部件之前就输入,选中的文本将被删除。void setText(const QString &)   设置输入框显示的文本。void undo()   撤消上次操作,如果撤消可用( isUndoAvailable())。取消任何当前的选中,并更新选中到当前光标位置。示例QLineEdit::EchoMode效果   首先,来演示QLineEdit::EchoMode的效果。效果   源码QLineEdit *pNormalLineEdit = new QLineEdit(this); QLineEdit *pNoEchoLineEdit = new QLineEdit(this); QLineEdit *pPasswordLineEdit = new QLineEdit(this); QLineEdit *pPasswordEchoOnEditLineEdit = new QLineEdit(this); pNormalLineEdit->setPlaceholderText("Normal"); pNoEchoLineEdit->setPlaceholderText("NoEcho"); pPasswordLineEdit->setPlaceholderText("Password"); pPasswordEchoOnEditLineEdit->setPlaceholderText("PasswordEchoOnEdit"); // 设置显示效果 pNormalLineEdit->setEchoMode(QLineEdit::Normal); pNoEchoLineEdit->setEchoMode(QLineEdit::NoEcho); pPasswordLineEdit->setEchoMode(QLineEdit::Password); pPasswordEchoOnEditLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);自定义搜索框   关于搜索框,我们经常接触。例如:浏览器搜索、Windows资源管理器搜索等。效果   源码   通过QLineEdit的addAction()函数来加入action,这里我们使用了重载函数。m_pLineEdit = new QLineEdit(this); m_pLabel = new QLabel(this); m_pLineEdit->setPlaceholderText(QString::fromLocal8Bit("请输入搜索内容")); // 添加action QAction *pLeadingAction = new QAction(this); pLeadingAction->setIcon(QIcon(":/Images/leading")); m_pLineEdit->addAction(pLeadingAction, QLineEdit::LeadingPosition); QAction *pTrailingAction = m_pLineEdit->addAction(QIcon(":/Images/trailing"), QLineEdit::TrailingPosition); // 连接信号和槽 connect(pTrailingAction, SIGNAL(triggered(bool)), this, SLOT(onSearch(bool)));   槽函数,用于获取输入框中的内容,然后处理。void MainWindow::onSearch(bool checked) { QString strText = m_pLineEdit->text(); m_pLabel->setText(QString::fromLocal8Bit("输入内容为:%1").arg(strText)); }验证器   通常情况下,我们会对用户的输入做一些限制,可以通过验证起来设置,常见的有:整形、浮点型及其它自定义验证器。效果   源码QLineEdit *pIntLineEdit = new QLineEdit(this); QLineEdit *pDoubleLineEdit = new QLineEdit(this); QLineEdit *pValidatorLineEdit = new QLineEdit(this); pIntLineEdit->setPlaceholderText(QString::fromLocal8Bit("整形")); pDoubleLineEdit->setPlaceholderText(QString::fromLocal8Bit("浮点型")); pValidatorLineEdit->setPlaceholderText(QString::fromLocal8Bit("字母和数字")); // 整形 范围:[1, 99] QIntValidator *pIntValidator = new QIntValidator(this); pIntValidator->setRange(1, 99); // 浮点型 范围:[-360, 360] 精度:小数点后2位 QDoubleValidator *pDoubleValidator = new QDoubleValidator(this); pDoubleValidator->setRange(-360, 360); pDoubleValidator->setNotation(QDoubleValidator::StandardNotation); pDoubleValidator->setDecimals(2); // 字符和数字 QRegExp reg("[a-zA-Z0-9]+#34;); QRegExpValidator *pValidator = new QRegExpValidator(this); pValidator->setRegExp(reg); pIntLineEdit->setValidator(pIntValidator); pDoubleLineEdit->setValidator(pDoubleValidator); pValidatorLineEdit->setValidator(pValidator);输入掩码   要限制用户输入,除了验证器,还可以使用输入掩码,常见的有IP、MAC地址、日期、License号等。效果   源码QLineEdit *pIPLineEdit = new QLineEdit(this); QLineEdit *pMACLineEdit = new QLineEdit(this); QLineEdit *pDateLineEdit = new QLineEdit(this); QLineEdit *pLicenseLineEdit = new QLineEdit(this); pIPLineEdit->setInputMask("000.000.000.000;_"); pMACLineEdit->setInputMask("HH:HH:HH:HH:HH:HH;_"); pDateLineEdit->setInputMask("0000-00-00"); pLicenseLineEdit->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#");

俞敏洪跨越生死线?3天涨粉130万,股价狂飙40,双语带货火了俞敏洪终于可以喘口气了,他的东方甄选直播间火了。但他需要思考两个问题会不会有越来越多的鱼目混珠的老师加入双语带货行列,导致行业乱象丛生?会不会随着带货的商业化推进,更加系统化的双语方便面巨头倒下从20亿巅峰沦落贱卖,只因为老板太自信在快节奏的生活时代下,人们更愿意把时间用作娱乐以及有意义的事情,对于吃饭这样的生活琐事可能更加倾向于方便快捷。在这样的背景下,快餐行业以及速食产品行业得到了蓬勃的发展。说到速食产品向往简单(随笔)向往简单(随笔)作者王艺涞摘要任何事物,如果简单便捷,就易于让大多数人接受,如果尖酸杂复,终将被大多数人抛弃,这在我们生活中常见,也是最简单的道理,但这个事实和现象却常常被人们忽略祝你岁月无波澜敬我余生不悲欢阅读本文前,点击上方卡片一键关注Episode02222或许有一些东西是我强行送给你的比如我的关心我的陪伴我的胡搅蛮缠还有我可怜的安全感而我不曾问过你是否想要我只是知道这些东西我从暑期换机怎么选?这三款性价比旗舰值得一看,体验不输苹果13不知不觉已经来到了618年中大促的后半程了,不知道大家取得了怎样的剁手战绩呢?今天发现很多产品都已经没有那么大力度的优惠了,像iPhone13的优惠卷也从满5000减1001变成了一部手机游兴文,吃住行游购娱统统掌上搞定!外出旅游你总得提前做功课绞尽脑汁到处查攻略吃住行游购娱实在伤脑筋但是,在咱们兴文这一切都将不再是问题!只要一部手机全部帮你提前搞定拿起手机,放下纠结只需打开兴文文旅微信公众号美景美为什么有专家建议在职公务人员禁用苹果手机?自从苹果手机上市以来深受我国广大人民的喜爱,甚至有人曾为一部苹果手机而去卖掉自己一颗肾的荒唐行为。言归正传为什么有专家提出这样的建议?难道米国真的可以远程控制和窃听全球的每一部手机HTC复出造手机,元宇宙让HTC死机复活最近有网间传闻,HTC要再次捡起来手机业务。要知道,HTC不造手机好多年了。在HTC的中文官网上,已经很久没有手机方面的内容了。最近传闻HTC为因应自家区块链和VRAR的发展,发现52岁李嘉欣不愧是港姐门面!过大寿穿牛仔裤太飒爽,一点皱纹没有今年52岁的李嘉欣可以说是从小美到大的典范,最新晒出的美照中,她梳着飒爽利落的大光明高丸子头,配上经典的浓眉裸唇妆,整个人看上去依旧明艳四射,皮肤更是白皙水嫩,完全看不到皱纹,保养中国台北发布亚洲杯集训名单陈盈骏领衔归化球员阿提诺在列北京时间6月13日,中国台北篮协今日公布亚洲杯16人集训名单,目前在CBA联赛效力的陈盈骏刘铮林庭谦悉数入选。此外上个赛季在福建队效力的胡珑贸也入选此次集训。中国台北男篮此次集训原东体广州队似乎要走恒大女排的老路了这或许将是一片狼藉该媒体表示,虽然以现有的班底,踢出这样的比赛并不意外,但令人绝望的是,三轮比赛广州队一球未进,而球队能做出的调整和变化也确实不多,特别是在短时间内,股改推进困难,资金投入没有改观的
养个优秀的孩子为何那么难?多少父母,把期望变成了底线孩子初来到我们的身边的时候,我们只希望TA平安健康,但随着孩子渐渐长大,很多父母忘记了自己的初心,把期望变成了底线。萨姐作者木青孩子铆足劲考了95分,结果却只有C等!期末考试成绩出台阶找不到,找代餐!因和中国速滑队教练同名,韩国导演出面道歉在冬奥会的赛场上中国运动员们取得了极其不错的成绩,目前中国取得了三金两银,是相当不错的。但众所周知,韩国队在这一次的冬奥会上表现并不是很好,才堪堪获得了一枚金牌,加上之前获得了一枚给娃起名陈冰墩墩,搞怪父母被批评以后孩子多半被嘲笑文小鱼奶爸日记原创,欢迎个人转发和分享中国父母给孩子取名其实是有迹可循的,比如建国立军卫国这类名字多是70后,而子辰梓晨逸晨这类则成了00后父母更青睐的名字之所以能从名字猜出一个人补强还没结束!最有可能买断的三名球员,冠军中锋领衔或改变格局赛季中期交易的大门已经关闭,各支争冠都做出了最大的努力,西部这边太阳迎回去年的主要轮转克雷格,爵士送走了赛季报销的英格尔斯,补充了后卫沃克,勇士灰熊和湖人则是按兵不动,相比于西部,中国足协或2次降薪!500万顶薪暴跌200万,徐新却下有对策男足最近出乎意料地输给了越南,就如范志毅曾断言的那样,男足在这样下去就要输越南了,输完越南要输缅甸了,现在已经输越南了。就我个人而言,真觉得还不如找那些足球爱好者又经常踢球的人组个AC米兰不应该出售的五名伟大球员!如果不走早就复兴了AC米兰这个赛季看起来令人印象深刻,到目前为止在24场比赛中得到52分,AC米兰似乎又回到了最佳状态,他们是本赛季意甲冠军的有力竞争者,距离领头羊国际米兰只有一分之遥。米兰上一次赢连哈登都被逼走了,蔡崇信为何还留着存在拆队隐患的欧文?2换5,篮网和76人的交易到现在热度还没下降,前者得到西蒙斯,塞斯库里,庄神以及两个不受保护的未来首轮签,后者得到哈登和米尔萨普,毫无疑问,这是一笔双赢的交易,哈登和恩比德的组合让冬奥会花样滑冰冰上舞蹈韵律舞王诗玥柳鑫宇获73。41分晋级北京时间2月12日,2022北京冬奥会花样滑冰比赛迎来了冰上舞蹈韵律舞的较量,一共有23对选手入选到冰舞韵律舞的较量,中国选手王诗玥柳鑫宇在第11位出场,获得了73。41分的高分,北京冬奥会一台冬奥会期间的脊柱外科手术新华社河北崇礼2月12日电(记者黄垚郭雅茹)在北京冬奥会开幕的第三天,刘啸就主刀了一台手术。刘啸正在查房,了解患者情况。受访者供图开幕前一天,一名外籍滑雪运动员在训练中背部摔伤。接冬奥会爆款上热搜!除了冰墩墩,这双天价NikeDunk也火了今年的北京冬奥会挺有意思,除了养眼的帅哥之外,还变成了种草大会,其中冰墩墩更是火爆全网,一墩难求。除此之外,冬奥会上还出现了一抹靓丽的球鞋风景线,一双NikeDunk也火了有体育运网络中国节元宵篮不住的激情河滩镇东干迎冬奥杯村BA激战正酣为助力北京冬奥会,喜迎新春佳节,促进全民健身与全民健康深度融合,展示新时代蓬勃发展的全民健身事业。连日来,东乡县河滩镇东干村2022年迎冬奥杯篮球赛火热进行,当地球迷和群众正在享受