python – 如何在QT(PyQT)中实现类似于Google Image搜索的布局?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何在QT(PyQT)中实现类似于Google Image搜索的布局?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2822字,纯文字阅读大概需要5分钟。
内容图文
![python – 如何在QT(PyQT)中实现类似于Google Image搜索的布局?](/upload/InfoBanner/zyjiaocheng/764/36a23f72363f4918a360b1fdb5d65170.jpg)
我是QT的新手.我在我的项目中使用PyQT进行GUI开发.我想在我的应用程序中实现这种布局.此应用程序从图像数据库中搜索图像. Google图片搜索布局非常适合我的目的.
alt text http://img821.imageshack.us/img821/8379/window2.png
我正在阅读“使用Python和Qt进行快速GUI编程”这本书,我对布局很熟悉.我想我需要在每个网格框中使用网格布局和每个结果图像. &安培;在每个网格框内使用(image,Qlabel,Qlabel)的垂直布局.
这些是我面临的一些问题.
>重要的是,我无法显示图像.我需要什么控件/小部件?我找不到类似于PictureBox的.NET
>如何通过像图像中的固定间隙分离这些图像结果?我正在使用Horizo??ntal&垂直隔板,但那不起作用?
>如何将QLabel设置为可点击(如超链接).我不想打开一个URL.只是文字应该是可点击的.所以,当用户点击链接时.我可以显示更多信息(例如,当用户点击“查看”时点击下一页编号时的下一组结果或带有全尺寸图像的新窗口)我们是否有一些新的控件?
>这是另一个重要问题.我将显示结果的页码(如图所示)&假设它们是可点击的.如何加载新的结果页面?我的意思是QT中的页面相当于什么?
>你可以猜到.这肯定不会是GUI的第一页.第一页将与http://google.com完全一样(一个大徽标和带有按钮的文本框).当用户点击搜索按钮时.将显示此页面.同样的问题出现了.怎么改变页面?
请列出我将需要的控件列表.告诉我,如果我不知道某事.
解决方法:
1/2.
要显示图像和标签,请使用视图模式设置为QListView :: IconMode的QListWidget.但是,如果您需要自定义显示超出QListWidget / QListWidgetItem api可以提供的内容,您将需要创建自己的QAbstractListModel并使用标准QListView.
请务必阅读Qt’s primer on model/view.
至于间隔图像,请查看列表视图中的spacing property.
以下是KDE的Dolphin文件管理器的示例:
3.使用常规QLabel,但将内容设置为href.
例:
编辑:糟糕我从您的标签中看到您使用的是PyQt,以下是C,但应该与您在python中的操作类似.
QLabel *linkLabel = new QLabel;
linkLabel->setTextFormat( Qt::RichText )
linkLabel->setText( "<a href=\"someurl\"> Click me! </a>" );
connect( linkLabel, SIGNAL( linkActivated ( const QString & link ) ), .... )
4.
那么,既然您正在使用模型/视图,为什么还要打扰页码呢?用户只能滚动视图,将显示更多图片.这是迄今为止最简单的解决方案,因为一旦完成M / V设置,您就无需执行任何操作!
但是,如果您确实要显示页码,则需要在模型中进行更多工作.例如,在模型中跟踪“当前页面”并仅允许访问“当前页面”上的图像.然后在连接到linkActivated()信号的插槽中告诉模型更改页面.我不会详细介绍,因为这严重违反了模型/视图背后的整个想法.这样做的“正确方法”是继承QListView并添加分页支持,但就像我说为什么不使用滚动条?这样做并没有任何表现.
5.使用QStackedWidget,addWidget()所有“页面”,然后根据需要调用setCurrentIndex / Widget()来切换页面.
思考:
您似乎非常致力于克隆Google Image搜索的外观,感觉和行为,这很好,但Google Image Search是一个使用与普通桌面应用程序(链接,页面,非常不同)的交互范例的Web应用程序.等等).您可能正在开发一个桌面应用程序,并且通过尝试模拟Web应用程序的行为,您会发现它很难,因为API不是为了支持那些类型的交互而设计的.无论如何,这是可行的,但你会为你的工作做好准备.
如果您非常想坚持基于Web的交互方式,为什么不用javascript和HTML编写应用程序并将其丢入QWebView?
内容总结
以上是互联网集市为您收集整理的python – 如何在QT(PyQT)中实现类似于Google Image搜索的布局?全部内容,希望文章能够帮你解决python – 如何在QT(PyQT)中实现类似于Google Image搜索的布局?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。