如何在Tkinter中修改窗口边框的背景颜色
窗口标题栏背景颜色修改方案
参考修改区域截图:
场景1:修改Windows系统全局窗口的标题栏颜色
- 打开系统设置,依次进入「个性化 > 颜色」
- 下拉找到「在以下区域显示主题色」,勾选「标题栏和窗口边框」
- 上方选择你想要的预设主题色即可,也可以点击「自定义颜色」调配专属色
- 如果需要取消标题栏主题色,取消对应勾选即可恢复默认浅色/深色(随系统主题自动匹配)
场景2:自行开发的应用修改对应区域颜色
Win32原生开发
你可以通过处理WM_NCPAINT消息来自定义绘制非客户区背景,示例代码片段如下:
case WM_NCPAINT: { HDC hdc = GetWindowDC(hwnd); RECT rect; GetWindowRect(hwnd, &rect); // 裁剪rect为标题栏区域范围 rect.bottom = rect.top + GetSystemMetrics(SM_CYCAPTION); // RGB参数替换为你要设置的颜色值 HBRUSH hBrush = CreateSolidBrush(RGB(180, 220, 240)); FillRect(hdc, &rect, hBrush); DeleteObject(hBrush); ReleaseDC(hwnd, hdc); return 0; }
常用框架开发
- Qt框架:调用
QWidget::setStyleSheet方法,覆写窗口标题栏对应的qss属性即可 - WinUI3框架:在
App.xaml资源列表中覆写WindowCaptionBackground的色值即可 - Electron框架:在创建窗口的配置项中设置
titleBarStyle为custom后,自行用HTML/CSS绘制自定义标题栏
内容的提问来源于stack exchange,提问作者roee1454
相关产品推荐
相关产品推荐

