不使用 QtDesigner 在 Qt 中自定义 QDockWidget
(抱歉我的英语不好,但我会尽力而为)
我目前尝试自定义几个 QDockWidgets 的样式。我通过 Qt 文档 -> 找到的唯一解决方案Style Sheet 是通过右键MouseClick -> 为QtDesignerView中的Object设置一个Stylesheet。设置样式表和有点硬编码(看起来类似于CSS)。 遗憾的是我不使用 QtDesigner,而是在 QtCreator 的 EditorView 中编写图形内容。
我现在的问题 - 是否可以通过普通编辑器自定义小部件
widget.setObjectName("widget")
,然后通过构造函数设置样式表,如下所示:
this->setStyleSheet("QDockWidget#widget{ background-color: red;.... ....}");
这对于简短的按钮来说效果很好,例如,但是将十几行放在一起作为字符串可能不是最好的解决方案,不是吗? 我很高兴得到一些提示,因为我在网上找不到太多相关信息,但我的 cpp/Qt 知识还不是最好的:(
谢谢
(sry for my bad english but i'll give my best)
I currently try to customize the style of several QDockWidgets. The only solution i found via the Qt Documentation -> Style Sheet is setting a Stylesheet to the Object in the QtDesignerView by right MouseClick -> set Stylesheet and kinda hardcode (looking similar to css).
Pityfully i do not use the QtDesigner but code the graphical stuff in the EditorView of QtCreator.
My Question now - is it possible to customize Widgets by normal Editor nicer than
widget.setObjectName("widget")
and then setting the stylesheet via the constructor like this:
this->setStyleSheet("QDockWidget#widget{ background-color: red;........}");
this works fine for brief PushButtons e.g. but putting together dozen lines as a String could not be the best solution could it?
I would be glad about some hints because i cannot find much about that on the net, my cpp/Qt knownledge is not yet the best though :(
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可能不是最好的解决方案,但我可能会按照以下方式做一些事情:
QDockWidget
QFile
加载的方法/解析 .css 文件并设置样式等QStyle
和其他相关类做一些事情This may not be the best solution but I'd probably do something along these lines:
QDockWidget
QFile
to load/parse the .css file and set the styles etcQStyle
and other related classes您从程序中调用 setStyleSheet 。
示例:
示例2:
删除样式:
you call setStyleSheet from your program.
example:
example2:
to remove the styling: