QMainWindow里面有个setTabPosition可以更改标签页位置
self.setTabPosition(self.你的控件.allowedAreas(), QTabWidget.North)
这样就到上方了
同时
self.findChildren(QTabBar)
可以获取到QMainWindow里面的标签页列表
可以去除白色分割线
获取到的标签页.setDrawBase(False)#去除Tabbar白色分割线
注意多个页面会获取到多个,需要遍历一下
另外下面的样式表可以让鼠标悬浮界面分割线时高亮
并且改变重叠标签页样式
self.setStyleSheet("QMainWindow::separator{\
background-color: #323232;\
color: white;\
padding-left: 4px;\
spacing: 4px;\
border: 0px dashed #282828;}\
QMainWindow::separator:hover{\
background-color: #787876;\
color: white;\
padding-left: 4px;\
border: 0px solid #282828;\
spacing: 4px;}\
QTabBar::tab {\
color: #eff0f1;\
border: 1px solid #282828;\
border-bottom: 1px transparent black;\
background-color: #323232;\
padding: 5px;\
min-width: 50px;\
border-top-left-radius: 2px;\
border-top-right-radius: 2px;}\
QTabBar::tab:!selected{\
color: #eff0f1;\
background-color: #54575B;\
border: 1px solid #282828;\
border-bottom: 1px transparent black;\
border-top-left-radius: 2px;\
border-top-right-radius: 2px;}\
QTabBar::tab:!selected:hover {\
background-color: #d9fffe;\
color: black;}")
或者也可以通过上面获取到的引用进行设置widget
self.tab.setTabButton(0,QTabBar.ButtonPosition.LeftSide,QPushButton("123"))