QLineEdit美化

QLineEdit{
    font-size:13px;
    background:transparent;
    border:none;
    border-bottom:1px solid rgb(229, 229, 229);
}

QLineEdit:hover{
    border-bottom:1px solid rgb(193,193, 193);
}

QLineEdit:focus{
    border-bottom:1px solid rgb(18, 183, 245);
}
QLabel* m_labelQQ = new QLabel;
m_labelQQ->setFixedSize(QSize(14, 20));
m_labelQQ->setPixmap(QIcon(":/Resources/LoginWindow/QQ_Normal.png").pixmap(m_labelQQ->size()));

QPushButton* m_pButtonPullDown = new QPushButton;
m_pButtonPullDown->setCursor(Qt::ArrowCursor);
m_pButtonPullDown->setFixedSize(QSize(16, 16));
m_pButtonPullDown->setStyleSheet("QPushButton{border-image:url(:/Resources/LoginWindow/PullDownButton_Normal.png);}\
										QPushButton:hover{border-image:url(:/Resources/LoginWindow/PullDownButton_Hover.png);}");

QHBoxLayout* hAccountLayout = new QHBoxLayout(m_loginWindow.lineEditAccount);
hAccountLayout->addWidget(m_labelQQ);
hAccountLayout->addStretch();
hAccountLayout->addWidget(m_pButtonPullDown);
hAccountLayout->setMargin(0);
m_loginWindow.lineEditAccount->setTextMargins(20, 0, 20, 0);

 

### QLineEdit 显示问题解决方法 #### 文本不显示 在使用 `QLineEdit` 时,如果文本无法正常显示,可能的原因包括: - **输入模式设置错误**:例如将 `EchoMode` 设置为 `Password` 模式后,输入的字符会被隐藏。可以通过调用 `setEchoMode(QLineEdit::Normal)` 来恢复普通文本显示。 - **样式表影响**:某些自定义的样式表可能会导致文本颜色与背景色相同,从而无法看到输入内容。可以检查样式表中的 `color` 和 `background-color` 属性,并确保它们之间有足够对比度[^2]。 #### 输入掩码 若希望限制用户输入特定格式的数据,可以使用 `setInputMask()` 方法来设置输入掩码。例如: ```cpp lineEdit->setInputMask("000.000.000.000;_"); // IP地址输入 lineEdit->setInputMask("0000-00-00;_"); // 日期输入 lineEdit->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#"); // 许可证号输入 ``` 其中分号后面的部分表示空白占位符,默认情况下会在用户输入后自动删除。如果掩码设置无效,请确认是否正确应用了掩码语法以及是否与其他属性(如验证器)冲突[^5]。 #### 占位符文本 当输入框为空时,可以设置提示信息以指导用户输入。通过 `setPlaceholderText()` 方法实现: ```cpp lineEdit->setPlaceholderText("请输入用户名"); ``` 如果占位符未显示,请检查是否设置了其他覆盖其行为的属性,例如 `text()` 被初始化为空字符串也可能影响占位符显示效果[^3]。 #### 样式设置 对于美化界面的需求,通常采用 Qt 的样式表机制 (`setStyleSheet()`) 对 `QLineEdit` 进行外观定制。以下是一个基础示例: ```css QLineEdit { border: 2px solid #cccccc; border-radius: 5px; padding: 5px; font-size: 14px; background-color: #f9f9f9; } QLineEdit:focus { border-color: #66afe9; background-color: #ffffff; } ``` 这段 CSS 风格代码设置了边框、圆角、内边距、字体大小和背景色等基本视觉元素,并且在获得焦点时改变了边框颜色和背景色以提供交互反馈。若样式未生效,请检查是否存在拼写错误或层级结构问题(比如父控件样式覆盖)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值