PyQt 中的自定义/所有者绘制控件?

发布于 2024-08-03 12:36:13 字数 348 浏览 5 评论 0原文

我正在学习 PyQt,想知道是否可以创建自定义/所有者绘制控件,如下图所示:

替代文本 http://lh5.ggpht.com /_5XDoB4MglkY/SpoT51SXR1I/AAAAAAAAFcU/ZXjzmhRyDVA/s400/SearchBox.png

搜索框的右边框有放大镜图标。 PyQt 可以实现这种功能吗?谢谢!

I am learning PyQt and wonder if one can create custom/owner draw control like one show in the figure below:

alt text http://lh5.ggpht.com/_5XDoB4MglkY/SpoT51SXR1I/AAAAAAAAFcU/ZXjzmhRyDVA/s400/SearchBox.png

The search box has magnifier icon on its right border. Is this kind of thing possible with PyQt? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝不服输 2024-08-10 12:36:13

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

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;
}""")

If you only need to show an icon, an easy way is to use style-sheets:

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;
}""")
吖咩 2024-08-10 12:36:13

Antas Aasma - 好答案!
m3rLinEz
也许值得将所有按钮和文本标签打包到一个小部件中。在该小部件的构造函数中连接所有按钮。仅公开必要的信号和槽。
只是为了减少您编写的代码(并可能增加此小部件的重用)。

Antas Aasma - good anser!
m3rLinEz
Maybe its worth packing all buttons and text labels into one widget. In constructor of that widget connect all buttons. Expose only necessary signals and slots.
Just to reduce code you write (and possibly increase reuse of this widget).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文