2011-10-30 55 views
0

pyqt: how to put a border frame around a widget我在部件周围创建了一个边框。我现在想要能够控制底层程序的边界。pyqt:控制边框部件

1)基础小部件在Qt Designer中有一个类名,并在程序中使用该类名。我如何给我的边框小部件提供一个类名?

2)我已经在Qt Designer中为边框部件设置了背景颜色和边距。如何在程序中设置它们(覆盖Qt Designer设置)?

+0

btw:您在上一个问题中接受了我的回答,但是从后面的意见中可以看出它是否完全解决。你需要进一步的帮助吗? – ekhumoro

+0

我确实需要进一步的帮助。如果我设置了一个相对较窄的边框,那么该小部件不会扩展到右边距。谢谢 – foosion

+0

如果您可以发布'ui'文件(或pastebin链接),那么诊断问题会容易得多。 – ekhumoro

回答

0

可以在属性编辑器中使用objectName属性设置小部件的名称。班级名称(例如QWidget)不能更改。

可以使用setStyleSheet方法设置背景颜色。

提示:很多这类问题都可以通过使用pyuic4将ui文件转换为python模块来解决,因此您可以“看看它是如何完成的”。要做到这一点,在一个控制台运行以下命令:

pyuic4 -o output.py source.ui 

生成的代码通常是很多更详细的比它需要的,但它应该给你如何进行一个好主意。

+0

我在边框中放置的类具有更改的类名称,在这种情况下,该类被列为DocumentView,即使它是QWidget。在程序中,控制的代码是'class DocumentView(QWebView):' – foosion

+0

为什么你关心类名?这个'DocumentView'类的来源是什么?它是在单独的'ui'文件中定义的自定义小部件吗? – ekhumoro

+0

在这一点上,我只关心好奇心。 DocumentView中提到的唯一文件是ui文件和代码。 – foosion