【求助】请问下下应该怎么给QTabWidget的整个Tab页添加边框啊?在线等~thanks!

Willib 2016-03-02 04:41:24

如上图所示我设置的边框只包含了tab里面的内容,而没有包含上面的bar项,请问下该怎么设置啊?
这是我设置的style:
this->setStyleSheet("QTabWidget::pane{ \
border: 1px solid red;}");

谢谢了!
...全文
2261 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyangqingyun 2017-12-17
  • 打赏
  • 举报
回复
引用 15 楼 kk999900 的回复:
看来上面一大堆,都没人说到重点上,只需要把QTabWidget的pane往上移动一个像素不就可以解决了吗? QTabWidget::pane:top { top: -1px; /*pane往上移一个像素,盖住tabbar的下面的线条*/ } QTabWidget::pane:bottom { bottom: -1px; /*pane往下移一个像素,盖住tabbar的上面的线条*/ } QTabWidget::pane:left { /*这里可能是bug,这里的left对应的其实是east的tabwidget*/ right: -1px; /*pane往右移一个像素,盖住tabbar的左面的线条*/ } QTabWidget::pane:right { /*这里可能是bug,这里的right对应的其实是west的tabwidget*/ left: -1px; /*pane往左移一个像素,盖住tabbar的右面的线条*/ }
正解,看来还有高手!
kk999900 2017-03-24
  • 打赏
  • 举报
回复
看来上面一大堆,都没人说到重点上,只需要把QTabWidget的pane往上移动一个像素不就可以解决了吗? QTabWidget::pane:top { top: -1px; /*pane往上移一个像素,盖住tabbar的下面的线条*/ } QTabWidget::pane:bottom { bottom: -1px; /*pane往下移一个像素,盖住tabbar的上面的线条*/ } QTabWidget::pane:left { /*这里可能是bug,这里的left对应的其实是east的tabwidget*/ right: -1px; /*pane往右移一个像素,盖住tabbar的左面的线条*/ } QTabWidget::pane:right { /*这里可能是bug,这里的right对应的其实是west的tabwidget*/ left: -1px; /*pane往左移一个像素,盖住tabbar的右面的线条*/ }
kerwin liu 2017-02-13
  • 打赏
  • 举报
回复
QTabWidget::pane 这个不要设置 如帮助文档中“A Windows Vista style tab widget.” 效果图,你再设置边为红色就ok了
赌书泼茶香 2016-05-05
  • 打赏
  • 举报
回复


是不是要这个效果


QTabWidget {\n	font: 12pt "微软雅黑";\n}\nQTabWidget::pane {\n	/*top: -1px;*/\n	border-bottom-left-radius: 5px;\n	border-bottom-right-radius: 5px;\n	border: 1px solid rgb(220, 220, 220);\n	border-top: none;\n	background-color: rgb(255, 255, 255);\n}\nQTabWidget::tab-bar {\n	border-color: 1px solid rgb(0, 0, 0);\n}\nQTabBar::tab:first {\n	font: 12pt "微软雅黑";\n	border: 1px solid rgb(220, 220, 220);\n}\nQTabBar::tab {\n	width: 100px;\n	height: 60px;\n	font: 12pt "微软雅黑";\n	border: 1px solid rgb(220, 220, 220);\n	border-left: none;\n	background-color: rgb(250, 250, 250);\n}\nQTabBar::tab:hover {\n	color: rgba(56, 173, 255, 150);\n	background-color: rgba(255, 255, 255, 50);\n}\nQTabBar::tab:selected {\n	border-bottom: 1px solid rgb(255, 255, 255);\n	color: rgb(56, 173, 255);\n	background-color: rgb(255, 255, 255);\n}\nQTabBar:tab:only-one {\n	width: 100px;\n	height: 60px;\n	border: 1px solid rgb(220, 220, 220);\n	border-bottom: 1px solid rgb(255, 255, 255);\n	background-color: rgb(255, 255, 255);\n}\n
just59277 2016-04-01
  • 打赏
  • 举报
回复
是不是 可以把内容页的背景色设置成边框外不一样的,然后把边框都去掉,只有tabbar left top right 三个的边框
Willib 2016-03-04
  • 打赏
  • 举报
回复
Willib 2016-03-03
  • 打赏
  • 举报
回复
Willib 2016-03-03
  • 打赏
  • 举报
回复
这个问题真的无解了么。。
Willib 2016-03-03
  • 打赏
  • 举报
回复
this->setStyleSheet("QTabWidget:pane{ \ border: 1px solid red;}\ QTabBar::tab:selected{border:1px solid red; border-bottom-color:none;}\ "); 这是我现在设置的样式,但是tab和pane之间的边框还是没法去掉,
void_main_void 2016-03-03
  • 打赏
  • 举报
回复
看错了。tablewidget 我就不清楚了。。。
void_main_void 2016-03-03
  • 打赏
  • 举报
回复
给QWidget加边框颜色我自己的土方法是 创建4个QWidge。宽度设置1.然后设置4个QWidget的背景颜色。再通过Layout布局插入。。 QWidget本身是没办法设置边框颜色的。
Willib 2016-03-02
  • 打赏
  • 举报
回复
引用 3 楼 zbw1185 的回复:
ui->tabWidget->setStyleSheet("QTabWidget::pane{border:1px solid red;} QTabBar::tab{border:1px solid red;}");
谢谢你的回复哈! 不过这样弄还是不行诶,我想弄的是在点击某个tab页时,设置该页的边框,就像我上面贴的图那样,在边框在bar和content widget之间是没有边框的,就是我打了插那里想把它去掉,
Willib 2016-03-02
  • 打赏
  • 举报
回复
引用 2 楼 u011012932 的回复:
[quote=引用 1 楼 Enter_ 的回复:] http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar 这上面也没有看到怎么设置
你说的那部分属于QTabBar 可以参考下: QTabWidget::pane { border: none; border-top: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); } QTabWidget::tab-bar { border: none; } QTabBar::tab { border: 1px solid transparent; color: white; background: transparent; height: 22px; min-width: 75px; } QTabBar::tab:hover { background: rgb(0, 180, 255); } QTabBar::tab:selected { background: rgb(0, 160, 230); }[/quote] 谢谢你的回复哈!! 这样的设置我开始也有试过哈,但是没能实现我的需求呢,我的需求是能够实现当鼠标点击某个tab页时,给当前tab页添加一个完整的边框,就像我上面贴的图那样,我想的是应该会有相应的style设置来实现的,但是还没能弄出来!=.=
画茧自缚 2016-03-02
  • 打赏
  • 举报
回复
ui->tabWidget->setStyleSheet("QTabWidget::pane{border:1px solid red;} QTabBar::tab{border:1px solid red;}");
一去丶二三里 2016-03-02
  • 打赏
  • 举报
回复
引用 1 楼 Enter_ 的回复:
http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar 这上面也没有看到怎么设置
你说的那部分属于QTabBar 可以参考下: QTabWidget::pane { border: none; border-top: 3px solid rgb(0, 160, 230); background: rgb(57, 58, 60); } QTabWidget::tab-bar { border: none; } QTabBar::tab { border: 1px solid transparent; color: white; background: transparent; height: 22px; min-width: 75px; } QTabBar::tab:hover { background: rgb(0, 180, 255); } QTabBar::tab:selected { background: rgb(0, 160, 230); }
Willib 2016-03-02
  • 打赏
  • 举报
回复
http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar 这上面也没有看到怎么设置
课程亮点       本课程是PySide6零基础入门与项目实战视频教程,经过精心设计,分为十个章节,制作了141ppt, 接近70个代码示例,主要讲解PySide6开发环境安装、基础控件与界面布局、项目实战,PySide6程序打包,安装包制作,安装卸载、更新,发布等知识。涵盖从基础概念到高级应用的全方位知识,旨在为你提供一条清晰、系统的学习之路。无论你是编程新手,还是希望深化对PySide6的了解,本课程都能满足你的需求。       教学环境:Win11 64bit、Python3.11、PyCharm、Anacoda。课程大纲第一章:基础篇 PySide6开发环境安装        从Anaconda环境配置开始,带你快速入门Win11/win10下PySide6、PyQt5开发环境的安装与配置,分别介绍PyCharm与VSCode如何配置PySide6,  以及Python AnaConda的基本用法,创建虚拟环境,安装python模块。第二章 控件与布局篇 PySide6常用控件与界面布局使用介绍        深入PySide6中的常用控件与界面布局技巧,通过丰富的实例,掌握PySide6的窗口、布局、控件等核心内容。主要介绍QLabel、QPushButton、QLineEdit、QCheckBox、QComboBox、QTextEdit、QTextBrowser、QListView与QListWidget、QStackedWidget、QTabWidget、QTableView等控件以及水平垂直布局,弹簧控件,栅格布局,表单布局。第三章 信号槽与事件机制       解锁PySide6的信号槽机制和事件处理技能,让你的应用更加灵活。详细介绍Qt自定义信号槽,跨窗口传递信号;Qt鼠标事件,键盘事件,组合事件,事件过滤。第四章 QMainWindow应用篇       详细介绍QMainWindow的使用,包括菜单栏、工具栏、状态栏和停靠窗口等。第五章 样式表qss与自定义控件        教你如何使用样式表美化应用界面,并创建独特的自定义控件。掌握这些技能后,学员将能够设计出既美观又功能丰富的用户界面。第六章 图表与曲线        引入pyqtgraph,展示如何在PySide6应用中绘制图表和动态曲线。第七章 数据库编程        带你进入数据库编程世界,使用sqlite3与PySide6结合,进行数据存储和管理。第八章 项目实战:高仿有道词典        通过一个高仿有道词典的项目,将所学知识融会贯通,实战演练。课程中将会接入翻译接口,开发一个属于自己的翻译软件。第九章 打包与部署       教你如何将PySide6项目打包成exe,并使用Inno Setup制作安装包,介绍软件更新、卸载策略,让你的应用轻松上线。第十章 课程总结        回顾整个课程的学习内容,巩固知识点,为进一步的学习和应用打下坚实的基础。教学特色       实战案例:每个章节都配备实战案例,让学习者在实践中深化理解。       代码资料全覆盖:提供全套课程代码资料下载,便于学习者随时查阅和复习。       高效学习路径:课程内容结构清晰,由浅入深,适合不同层次的学习者。       本课程提供全部代码与在线答疑。谁应该学习这个课程       对图形界面开发感兴趣的编程新手。       希望提升个人技能,进入或者深耕在GUI开发领域的开发者。       需要快速掌握PySide6进行项目开发的软件工程师。结语        通过本课程的学习,你不仅能掌握PySide6的核心技能,还能通过实战项目提升解决实际问题的能力,最终让你能独立完成专业的GUI应用开发。随着技术的深入,你将发现PySide6不仅仅是一个工具库,它开启的是一扇通往高效、美观应用开发的大门。        开始PySide6的学习之旅,让你的编程之路更加精彩!

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧