Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >应用样式时打开辅助窗口的ttk

应用样式时打开辅助窗口的ttk
EN

Stack Overflow用户
提问于 2017-03-04 17:31:51
回答 1查看 1.3K关注 0票数 2

以下是我的代码

代码语言:javascript
运行
AI代码解释
复制
from Tkinter import *
import ttk, tkMessageBox
import os

font = ("Avenir", 24)

b = ttk.Style()
b.configure('TButton', font=font)

class LoginScreen(Tk):
    def __init__(self, *args, **kwargs):
        Tk.__init__(self, *args, **kwargs)

        container = Frame(self)
        container.pack(side=TOP, fill=BOTH, expand=True)

        self.frames = {}
        for F in (Login, Register):
            frame = F(container, self)
            self.frames[F] = frame

            frame.grid(row=0, column=0, sticky='nsew')

        self.show_frame(Login)

    def show_frame(self, cont):
        frame = self.frames[cont]
        frame.tkraise()

class Login(Frame):
    def __init__(self, parent, controller):
        Frame.__init__(self, parent)
        label = Label(self, text="screen 1")
        button = Button(self, text="move", font=font, command=lambda: controller.show_frame(Register))

        button.pack()
        label.pack()

class Register(Frame):
    def __init__(self, parent, controller):
        Frame.__init__(self, parent)
        label = Label(self, text="screen 2")
        label.pack()

if __name__ == '__main__':
    app = LoginScreen()
    app.title("Login")
    app.mainloop()

当我运行这个命令时,我会看到这个屏幕:Working Screen without ttk

但一旦我改变了:

代码语言:javascript
运行
AI代码解释
复制
button = Button(self, text="move", font=font, command=lambda: controller.show_frame(Register))

代码语言:javascript
运行
AI代码解释
复制
button = ttk.Button(self, text="move", style='TButton', command=lambda: controller.show_frame(Register))

A Secondary Window is opened and the font doesn't change.

我希望有一些我忽略的简单的东西,但这种设计ttk小部件样式的方法是我在网上看到的唯一方法。

我不想要这个窗口,就像我之前说过的那样,当我将'b‘样式应用到按钮上时,它似乎神奇地出现了。

感谢您的阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-04 18:24:36

当你调用ttk.Style时,它需要一个根窗口来处理,如果还没有创建根窗口,它就会创建一个。要解决这个问题,您需要在创建根窗口(调用Tk())之后将第7行和第8行移动到某个点。

代码语言:javascript
运行
AI代码解释
复制
if __name__ == '__main__':
    app = LoginScreen()
    app.title("Login")
    b = ttk.Style()
    b.configure('TButton', font=font)
    app.mainloop()
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42599058

复制
相关文章
VS2017+Qt开发时打开命令调试窗口
有时候在Windows10系统中使用VS2017+Qt开发需要打开命令调试窗口, 为了方便调试,查看程序输出,可在程序运行同时打开cmd窗口,具体设置如下: 项目–属性–链接器–系统–子系统–控制台 (/SUBSYSTEM:CONSOLE),如下图所示:
ccf19881030
2021/04/20
1.5K0
VS2017+Qt开发时打开命令调试窗口
【7】vscode不同的窗口样式和颜色插件peacock、设置打开多个窗口、md文件打开方式和预览以及插入目录
使用快捷键 Ctrl+Shift+P 可以快速调出 Command Palette,输入 "Peacock:"
汀丶人工智能
2022/12/21
3.1K0
【7】vscode不同的窗口样式和颜色插件peacock、设置打开多个窗口、md文件打开方式和预览以及插入目录
Chrome下的打开新窗口
做了一个后台运维管理系统<前台页面基于Extjs进行开发>,在点击datagrid头部一个按钮,需要打开一个新窗口
meteoric
2018/11/15
3.6K0
【python实操】安装软件时候选择文件安装目录模块的实现方法
tkinter.ttk — Tk 主题小部件 源代码:Lib/tkinter/ttk.py
20岁爱吃必胜客
2023/03/16
1.1K0
【python实操】安装软件时候选择文件安装目录模块的实现方法
Python 图形化界面基础篇:创建自定义主题
在图形用户界面( GUI )应用程序中,界面的外观和风格对用户体验至关重要。 Python 的 Tkinter 库允许我们创建 GUI 应用程序,并且提供了一些默认的外观主题。然而,有时我们需要根据特定的需求或品牌标识创建自定义主题。在本篇博客中,我们将重点介绍如何使用 Python 的 Tkinter 库来创建自定义主题,以便将你的 GUI 应用程序与众不同。
小蓝枣
2023/10/17
6340
Python 图形化界面基础篇:创建自定义主题
Unity【InitializeOnLoadMethod】- 如何在项目工程打开时创建一个窗口
我们在Unity中安装的一些插件、工具,会在工程打开时弹出一个相关介绍的窗口,实现这样的功能需要用到InitializeOnLoadMethod这个特性,下面是官方文档中关于该特性的介绍:
CoderZ
2022/08/29
1.2K0
Unity【InitializeOnLoadMethod】- 如何在项目工程打开时创建一个窗口
在新窗口打开链接
最近博主再用H+模板时候表单提交和链接都在新窗口打开,没看见target="_blank",一直没查出来,苦恼N久,今天百度了如何用JS css等等实现网页所有链接在新窗口打开,终于找到了原因,因如下代码导致。 代码如下:
雨落凋殇
2019/12/25
2.7K0
【BootStrap】图片样式、辅助类样式和CSS组件 -附源码
.img-responsive:直接为图片添加该样式,可以实现响应式图片。 .center-block:图片居中样式,而不能使用text-center样式。 图片形状样式:.img-rounded(圆角图片)、.img-circle(圆形图片)、.img-thumbnail(边框圆角)
谙忆
2021/01/21
2.5K0
【BootStrap】图片样式、辅助类样式和CSS组件 -附源码
pycharm如何打开终端_mac怎么打开终端窗口
文章供自己回顾学习使用,所以不整花的,略显短小,多多包涵。 使用Python建立webAPP项目时候,总要在cmd中输入:
全栈程序员站长
2022/09/28
6.6K0
pycharm如何打开终端_mac怎么打开终端窗口
Windows 窗口样式 什么是 WS_EX_NOREDIRECTIONBITMAP 样式
简单说这个 WS_EX_NOREDIRECTIONBITMAP 样式是 Win8 提供的,用来做画面图层混合的功能。什么是画面图层混合功能?详细请看为何使用 DirectComposition
林德熙
2020/05/09
1.9K0
Windows 窗口样式 什么是 WS_EX_NOREDIRECTIONBITMAP 样式
WPF 获取全局所有窗口的创建显示事件 监控窗口打开
本文将告诉大家如何在 WPF 里面进行全局监控任意的窗口创建显示打开,可以获取到每个 WPF 窗口的打开的时机。如此可以用来辅助定位问题和输出日志
林德熙
2023/04/07
2.1K0
使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点
制作传统 Win32 程序以及 Windows Forms 程序的时候,一个用户看起来独立的窗口本就是通过各种父子窗口嵌套完成的,有大量窗口句柄,窗口之间形成父子关系。不过,对于 WPF 程序来说,一个独立的窗口实际上只有一个窗口句柄,窗口内的所有内容都是 WPF 绘制的。
walterlv
2023/10/22
6310
使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点
原创Paper | DirectX Hook - 优雅的实现游戏辅助窗口
最近看到了一个github的项目,分析过后觉得里面无论是代码还是界面都很好看,然后开始研究其代码。
Seebug漏洞平台
2023/01/08
4.4K2
原创Paper | DirectX Hook - 优雅的实现游戏辅助窗口
JS 新窗口打开超链接
第一种  给a标签添加点击事件: 源码: //点击百度一下 进行百度搜索 $("#baiduBtn").click(function(){ this.href="
明明如月学长
2021/08/27
16.3K0
JS post方式打开新窗口
郭顺发
2023/07/17
5890
vim 分割窗口打开内建 shell
Neovim 和 Vim >= 8.2 通过 :ter[minal] 命令原生支持此功能。
宋天伦
2023/10/21
2800
vim 分割窗口打开内建 shell
matinal:python打开文件、文件夹窗口、终端窗口
在一些项目中,我们会需要在生成完文件后打开某些文件或者文件夹窗口,这就需要使用到内置的文件打开方式了。
matinal
2023/10/14
3480
layui打开iframe窗口不刷新的问题
这个问题可能是我工作以来,最死磕不算bug的一个了,晚上熬夜到三点钟,终于找到了解决的办法。
王小婷
2019/04/29
4K0
layui打开iframe窗口不刷新的问题
IntelliJ IDEA同时打开多个窗口
1、点击File->Settings 2、点击open new project in new window选项 3、点击Apply即可
别团等shy哥发育
2023/02/25
6.6K0
IntelliJ IDEA同时打开多个窗口
点击加载更多

相似问题

Ttk类上的Ttk样式应用程序

14

在主寡妇加载时打开辅助窗口

14

在WPF中打开辅助窗口时出错

10

如何打开带有外壳的辅助窗口?

110

Python:如何在打开辅助窗口时禁用主窗口(Tkinter)

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文