- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个悬停框(或信息框),当用户将鼠标光标放在 Pmw RadioSelect 标签 上时它会打开。例如,当光标放在“Primary”上方时,程序会打开一个信息框,解释“Primary”的含义。
问题:我不知道如何访问 RadioSelect 对象内部的各个标签。我需要将一个方法绑定(bind)到各个标签,但我不知道如何引用它们。
额外:我怎么能自己解决这个问题?我试着用 dir() 查看 RadioSelect 属性,并在线阅读了 Pmw 手册,但找不到相关信息。
编辑 这是我到目前为止发现的:manual说标签只有在明确设置位置后才开始存在:
labelpos
Initialisation option. Specifies where to place the label component.
If None, a label component is not created. The default is None
在明确设置之后,例如:
self.rs = Pmw.RadioSelect(parent, labelpos = 'w')
你可以引用它self.rs.component('标签')
但我仍然不知道如何访问各个标签。
编辑 2: 诀窍只是将 RadioSelect“项目”分配给变量,就像接受的答案所建议的那样:
self.cb1 = self.radio_select.add("text")
将“项目”分配给变量后,您可以简单地将方法绑定(bind)到变量,如下所示:
self.balloon = Pmw.Balloon(self, initwait=500, relmouse='both')
self.balloon.bind(self.cb1, "Balloon text example")
最佳答案
如果我很了解你的问题,我认为你正在寻找:
Pmw.RadioSelect
中的单个标签)Pmw.Balloon()
并将其绑定(bind)到各个复选按钮(或您所称的标签 ).我重新编程了,如下所示,但使用了另一种方法。我的意思是我主要依靠 add()
返回组件小部件。然后我将 Pmw.Balloon()
的实例绑定(bind)到 add()
的返回值。这样做,您已经为自己提供了一种单独访问复选按钮的方法(如果需要,您可以玩更多)getvalue()
访问单个复选按钮(标签)或 getcurselection()
通过返回返回当前选定按钮的名称来类似工作的方法。 但是在实践中,您会得到元组(我的意思是这些函数返回所有选定的复选按钮的名称,正如我在用作回调方法的access_to_labels_individually()
中所示显示您选择的复选按钮的名称;当然您也可以根据需要使用它)这是一个 MVCE程序:
'''
Created on Jun 18, 2016
@author: Billal BEGUERADJ
'''
# -*- coding: utf-8 -*-
import Pmw
import tkinter as tk
class Begueradj:
def __init__(self, parent):
self.balloon = Pmw.Balloon(parent)
# Create and pack a vertical RadioSelect widget, with checkbuttons.
self.checkbuttons = Pmw.RadioSelect(parent,
buttontype = 'checkbutton',
orient = 'vertical',
labelpos = 'w',
command = self.access_to_labels_individually,
hull_borderwidth = 2,
hull_relief = 'ridge',
)
self.checkbuttons.pack(side = 'left', expand = 1, padx = 10, pady = 10)
# Add some buttons to the checkbutton RadioSelect
self.cb1 = self.checkbuttons.add('Primary')
self.cb2 = self.checkbuttons.add('Secondary')
self.cb3 = self.checkbuttons.add('Tertiary')
# Bind the Balloon instance to each widget
self.balloon.bind(self.cb1, 'Primary:\n This is our primary service')
self.balloon.bind(self.cb2, 'Secondary:\n This is our primary service')
self.balloon.bind(self.cb3, 'Tertiary:\n This is our primary service')
# You can use getvalue() or getcurselection() to access individual labels
def access_to_labels_individually(self, tag, state):
print(self.checkbuttons.getvalue())
# Main program starts here
if __name__ =='__main__':
begueradj = Pmw.initialise(fontScheme = 'pmw1')
begueradj.title('Billal BEGUERADJ')
d = Begueradj(begueradj)
begueradj.mainloop()
(我保留相同的屏幕截图,因为上面的程序产生相同的结果)
以下是与鼠标悬停在每个 tkinter.Checkbutton()
实例上相关的正在运行的程序的屏幕截图,无论它是否被选中:
关于Python:引用 Pmw RadioSelect 中的单个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37875456/
我想将 django 表单小部件 radioselect 渲染到一个表而不是一个 ul 列表中。第一行带有标签,第二行带有下面的单选按钮。每个按钮一个单元格。例如 ------------------
我有以下带有单选选项的表格: jobStatus = forms.ChoiceField( widget=forms.RadioSelect()) 但是,它会在 .. 中呈现单选按钮。标签。 你
我有这个简化的模型和形式: class Books(models.Model): name = models.CharField(max_length=500) price = mod
我有以下表格: class ReviewForm(forms.ModelForm): class Meta: model = Review widgets = { 't
我看了django教程做了一个网站。 https://docs.djangoproject.com/en/1.11/intro/ 我遇到了一个错误, AttributeError at /polls/
我找不到从显示为 -------- 的 Choices_list 中删除第一行的方法。 我已经尝试了一些东西:blank=True, Blank=False, ...这一行仍然存在。 这是我在我的 D
假设我的 Django 应用程序中有以下模型: class Gift_Card(models.Model): title = models.CharField(blah blah) c
我正在尝试使用 django 中提供的 RadioSelect() 小部件来呈现(默认)单选按钮,但是每当我使用它时,输出都是空白的。但是,如果我让 Django 表单加载默认渲染器,它会打印出一个带
我正在使用 Django 制作表单,需要在 HTML 中手动布局表单。我有一个字段是 ChoiceField该小部件是 RadioSelect (即单选按钮而不是选择下拉菜单)。该字段有 2 个选择(
我想创建一个悬停框(或信息框),当用户将鼠标光标放在 Pmw RadioSelect 标签 上时它会打开。例如,当光标放在“Primary”上方时,程序会打开一个信息框,解释“Primary”的含义。
我可以在任何表单字段上设置 help_text 属性,但是是否可以在用于 RadioSelect() 的选项上设置 help_text 属性? 我正在寻找一种简洁的方式来在每个单选按钮下显示一些帮助信
我有一个这样的表格: CHOICES = [ ('a', 'a_value'), ('b', 'b_value'), ('c',
所以我使用 jQuery UI 到 skin the radio buttons但我无法让 Django 以必须完成的方式呈现我的表单。 我需要有这样的结构: Notify
我有一个模型、表单、 View ,但我似乎无法实际显示 RadioSelect 小部件。它没有显示任何内容,我认为除了 View 之外一切都很好,但是,我不确定。我基本上希望有人从两个单选按钮中进行选
EDIT The reason my question is different to the possible duplicate is because that does not address
我正在将调查从 Form 转换为 Django 1.6.2 中的 ModelForm。 谁能告诉我 forms.ChoiceField(widget=forms.Select(), 和 forms.C
我正在创建一个带有一组单选按钮(作为单个 RadioSelect 字段)的 Django 表单,我想让一些按钮变灰。但是,鉴于 RadioSelect 字段是表单上的单个字段,我还没有找到一种方法来做
我正在使用 Django ModelForm,其中我的模型包含 BooleanField,并且与该 BooleanField 关联的表单小部件是 RadioSelect 小部件。我希望 RadioSe
我正在使用 ModelForm 并尝试在 Django forms.RadioSelect 小部件上设置一个 css 类,例如 class Meta: model = models.MyMod
所以我有一些像这样设置的小部件 widgets = { 'history': Select(attrs={'ng-model': 'data.smile_assessment.hist
我是一名优秀的程序员,十分优秀!