PyQt中的自定义绘制控件?

1 投票
2 回答
1052 浏览
提问于 2025-04-15 13:58

我正在学习PyQt,想知道是否可以像下面的图片那样创建自定义的控件:

图片链接 http://lh5.ggpht.com/_5XDoB4MglkY/SpoT51SXR1I/AAAAAAAAFcU/ZXjzmhRyDVA/s400/SearchBox.png

这个搜索框的右边有一个放大镜图标。用PyQt能做到这种效果吗?谢谢!

2 个回答

0

Antas Aasma - 好答案!
m3rLinEz
也许把所有的按钮和文本标签放到一个小部件里会更好。在这个小部件的构造函数中,把所有的按钮连接起来。只暴露必要的信号和槽。
这样可以减少你写的代码(也可能增加这个小部件的重用性)。

6

如果你只需要显示一个图标,一个简单的方法就是使用 样式表

lineedit = QtGui.QLineEdit()    
lineedit.setStyleSheet("""QLineEdit {
     background-image: url(:/images/magnifier.png);
     background-repeat: no-repeat;
     background-position: right;
     background-clip: padding;
     padding-right: 16px;
}""")

撰写回答