• 14881阅读
  • 12回复

[提问]怎样在QLineEdit的最右边插入一个控件 [复制链接]

上一主题 下一主题
离线qq867814126
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-27
— 本帖被 XChinux 从 Qt 个人作品展示 移动到本区(2011-01-28) —
我想在QLineEdit最右面插入一个QPushButton或者QLabel或者是一个图片
离线morriszy

只看该作者 1楼 发表于: 2011-01-27
沒聽明白...呵呵

[ 此帖被morriszy在2011-01-27 15:22重新编辑 ]
VS2010+Qt4.7.0
离线jdwx

只看该作者 2楼 发表于: 2011-01-28
是在lineedit里面的右侧?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线梅克斯
只看该作者 3楼 发表于: 2011-01-28
先画出lineedit然后在lineedit的最右边贴上你想要的控件,btn,label之类的....
离线kimtaikee

只看该作者 4楼 发表于: 2011-01-28
继承QLineEdit
然后在类中加入
QHBoxLayout* mainLayout;
QLabel* theLabel;
mainLayout->addWidget(theLabel)
setLayout(mainLayout);

离线alexltr

只看该作者 5楼 发表于: 2011-02-13
插入的图片会重叠在QLineEdit上面。如图。这种情况怎么解决?
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线roywillow

只看该作者 6楼 发表于: 2011-02-15
是不希望图片与文本框重叠?
自己在设计窗口的时候自己布局文本框和显示图片的组件就是了
或者自己继承一个QWidget,添加布局、文本框、显示图片的组件(比如QLabel),然后自己再实现各种成员函数
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线hgl2073
只看该作者 7楼 发表于: 2011-02-15
回 楼主(qq867814126) 的帖子
用Layout控件依次布局一个QLineEidt和你要的控件不就行了?
离线ttsszzyy
只看该作者 8楼 发表于: 2011-09-26
晕死,人家楼主问意思是,就像你在用QQ的搜索框的时候,只要你一开始输入文字,编辑框的右侧就出现一个按钮,点一下这个按钮,可以清空编辑框,回到最原始的状态。这按钮是在编辑框里面的,自己可以到QQ的界面上看看效果再来回答吗,结果没有一个回答的详细一点的!郁闷!我也是纠结这个问题到现在了,一个解决的都没有!
直到精通Qt为止~~~
离线kimtaikee

只看该作者 9楼 发表于: 2011-09-26

离线XChinux

只看该作者 10楼 发表于: 2011-09-26
CSS设置QLineEdit设置右边距大些。
QLineEdit#lineEdit1 {
        margin-right:30px;
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线ttsszzyy
只看该作者 11楼 发表于: 2011-10-19
感谢楼上的,在你的帮助下,问题已经得到解决!其实我不是嚣张,只是在开发中刚刚遇到这种问题,Qt的问题在网上也好不找解决的问题!知道本站有你这样的强人,对Qt又有了学习的兴趣了,感谢!以后会好好努力学习的!还望请以后多指教!
直到精通Qt为止~~~
离线jorneyr

只看该作者 12楼 发表于: 2011-10-19
SearchButton::SearchButton(const QString &text, QLineEdit *lineEdit) : QPushButton(lineEdit) {
    QSize size = QSize(40, lineEdit->sizeHint().height());
    setMinimumSize(size);
    setMaximumSize(size);           // 设置按钮的大小为图片的大小
    setFocusPolicy(Qt::NoFocus);    // 得到焦点时,不显示虚线框
    setFlat(true);
    setText(text);
    setCursor(QCursor(Qt::PointingHandCursor));

    QHBoxLayout *buttonLayout = new QHBoxLayout();
    buttonLayout->setContentsMargins(0, 0, 0, 0);
    buttonLayout->addStretch();
    buttonLayout->addWidget(this);
    lineEdit->setLayout(buttonLayout);

    // 设置输入框中文件输入区,不让输入的文字在被隐藏在按钮下
    lineEdit->setTextMargins(0, 1, size.width(), 1);
}

上面这段代码是我最近用的
再使用style sheet控制一下这个按钮的样式就可以了
快速回复
限100 字节
 
上一个 下一个