小编Fen*_*kso的帖子

在PyGObject中设置样式属性

我有一个非常简单的PyGObject应用程序:

from gi.repository import Gtk, Gdk


class Window(Gtk.Window):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.set_border_width(5)

        self.progress = Gtk.ProgressBar()
        self.progress.set_fraction(0.5)

        self.box = Gtk.Box()
        self.box.pack_start(self.progress, True, True, 0)

        self.add(self.box)
        self.connect('delete-event', Gtk.main_quit)
        self.show_all()


win = Window()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)

应用

我希望进度条更厚.所以我发现有一个样式属性:

Name                        Type    Default  Flags  Short Description
min-horizontal-bar-height   int     6        r/w    Minimum horizontal height of the progress bar
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法以我尝试过的任何方式设置样式属性.

1)我尝试使用CSS:

style_provider = Gtk.CssProvider()

css = b"""
GtkProgressBar {
    border-color: #000;
    min-horizontal-bar-height: 10;
}
"""

style_provider.load_from_data(css)

Gtk.StyleContext.add_provider_for_screen(
    Gdk.Screen.get_default(),
    style_provider,
    Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

GLib.Error: gtk-css-provider-error-quark: <data>:4:37'min-horizontal-bar-height' is not …

python pygobject gtk3

4
推荐指数
1
解决办法
1325
查看次数

了解全局名称和Python2和3

作为Python的新手,我正在学习Python2和3之间的一些差异.在Python课程中,似乎有些事情需要在代码中进行更改以使其在3中工作.这是代码;

def clinic():
    print "In this space goes the greeting"
    print "Choose left or right"
    answer = raw_input("Type left or right and hit 'Enter'.")
    if answer == "LEFT" or answer == "Left" or answer == "left":
        print "Here is test answer if you chose Left."
    elif answer == "RIGHT" or answer == "Right" or answer == "right":
        print "Here is the test answer if you chose Right!"
    else:
        print "You didn't make a valid choice, please try again."
        clinic()

clinic() …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x

2
推荐指数
1
解决办法
228
查看次数

WxFormBuilder没有Python选项

如何生成python代码?我知道我需要将code_generation属性从C++更改为Python,但是没有Python选项......我该如何解决这个问题?我已经尝试在互联网上寻找这个问题,但我找不到任何东西.

python wxpython wxformbuilder

2
推荐指数
1
解决办法
2886
查看次数

如何在Tkinter/Tix Python GUI中启用和禁用选项卡

我正在尝试在Python中创建一个选项卡式GUI,我希望能够切换选项卡的启用/禁用状态(即阻止用户切换选项卡,并禁止鬼非活动选项卡以使这一事实显而易见).到目前为止,我一直无法弄清楚如何进行这种状态切换.

我决定使用Tkinter和/或Tix,因为它们内置于Windows上的Python发行版中(指导我的用户安装额外的第三方依赖项将比它的价值更麻烦).我曾经和Tkinter合作过一段时间但从未使用过Tix,因为标签似乎需要它.所以我在http://svn.python.org/projects/python/trunk/Demo/tix/samples/NoteBook.py上根据演示构建了一个双标签的Tix.NoteBook.

为了禁用选项卡,Tix选项卡实例的唯一相关属性(例如nb.hard_disk在演示代码中)似乎是configure()天真的做类似Tkinter的东西,即nb.hard_disk.configure(state=Tix.DISABLED)导致TclError: unknown option "-state"

搜索"禁用Tix笔记本选项卡"不会产生任何效果,甚至更通用的"禁用Tix小部件"也不会产生任何我能理解/使用的内容.感谢正确方向的任何指针.

python tkinter tix python-2.5

2
推荐指数
1
解决办法
5730
查看次数