qt QLineEdit 左侧带自定义图标类
2015-07-24 13:41
435 查看
头文件qpnglineeditex.h
#ifndef QPNGLINEEDITEX_H #define QPNGLINEEDITEX_H #include <QPushButton> class QLineEdit; class QString; class QPngLineEdit : public QPushButton { Q_OBJECT public: explicit QPngLineEdit(const QString &text, QLineEdit *edit, const QString &strImg); signals: public slots: }; #endif // QPNGLINEEDITEX_H
cpp 文件
#include "qpnglineeditex.h" #include <QLineEdit> #include <QHBoxLayout> QPngLineEdit::QPngLineEdit(const QString &text, QLineEdit *edit, const QString &strImg) : QPushButton(text, edit) { QSize size = QSize(30, 30); setMinimumSize(size); setMaximumSize(size); // 设置按钮的大小为图片的大小 setFocusPolicy(Qt::NoFocus); // 得到焦点时,不显示虚线框 setFlat(true); setText(text); setCursor(QCursor(Qt::PointingHandCursor)); QHBoxLayout *buttonLayout = new QHBoxLayout(); buttonLayout->setContentsMargins(1, 1, 1, 1); buttonLayout->addStretch(); buttonLayout->addWidget(this); buttonLayout->setDirection(QBoxLayout::RightToLeft); edit->setLayout(buttonLayout); // 设置输入框中文件输入区,不让输入的文字在被隐藏在按钮下 edit->setTextMargins(size.width(), 1, 1 , 1); // 设置style 图片位置url改为自己的。 QString qss = QString(".QPngLineEdit{\ border-image: url(:/login/resource/login/%1);\ }").arg(strImg); setStyleSheet(qss); }引入:
在父widget中:
new QPngLineEdit("", ui->m_pEditUser,"iphone_mobile.png");
相关文章推荐
- 3. QT窗体间值的传递(续)
- pyqt的多Button的点击事件的槽函数的区分发送signal的按钮。
- qt在开发板上运行的环境编译的搭建
- Qt开源的压缩包的提取
- QT—QTextEdit控件显示日志
- Qt 中响应回车事件 keyPressEvent
- QT定制有标题的扁平化下拉框控件
- QT中调用JAVA代码
- QT中的.pro文件
- QT QSS 使用
- QT打包发布NSIS
- QT打包发布
- VS中Qt的探索02
- Qt中多事件使用实例
- VS2010+Qt+OpenCv(显示图像)
- QT 中删除ListWidget中的一个item条目
- QT 鼠标右键菜单
- visual studio2010集成QT环境
- QT5简易坐标系和折线图的绘制
- QT5.3.1移植(上)