小编izi*_*dor的帖子

如何使用jQuery禁用/启用选择字段?

我想以类似的形式创建一个选项

[] I would like to order a [selectbox with pizza] pizza
Run Code Online (Sandbox Code Playgroud)

其中selectbox仅在选中复选框时启用,未选中时禁用.

我想出了这段代码:

<form>
<input type="checkbox" id="pizza" name="pizza" value="yes"> <label for="pizza">
I would like to order a</label>
<select name="pizza_kind">
    <option>(choose one)</option>
    <option value="margaritha">Margaritha</option>
    <option value="hawai">Hawai</option>
</select>
pizza.
</form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
var update_pizza = function () {
    if ($("#pizza").is(":checked")) {
        $("#pizza_kind").removeAttr("disabled");
    }
    else {
        $("#pizza_kind").prop('disabled', 'disabled');
    }
};

$(update_pizza);
$("#pizza").change(update_pizza);
</script>
Run Code Online (Sandbox Code Playgroud)

我尝试了各种方法如何使用设置禁用属性.prop(),.attr().disabled=.然而,没有任何反应.当应用于<input type="checkbox">代替时<select>,代码完美地运行.

如何<select>使用jQuery 禁用/启用?

html forms jquery

168
推荐指数
7
解决办法
47万
查看次数

如何重载operator << for qDebug

我正在尝试为我的类存储数据创建更有用的调试消息.我的代码看起来像这样

#include <QAbstractTableModel>
#include <QDebug>

/**
  * Model for storing data. 
  */
class DataModel : public QAbstractTableModel {
    // for debugging purposes
    friend QDebug operator<< (QDebug d, const DataModel &model);

    //other stuff
};

/**
  * Overloading operator for debugging purposes
  */
QDebug operator<< (QDebug d, const DataModel &model) {
    d << "Hello world!";
    return d;
}
Run Code Online (Sandbox Code Playgroud)

我希望qDebug() << model打印出"Hello world!".但是,输出总是有"QAbstractTableModel(0x1c7e520)"之类的东西.

你知道什么是错的吗?

c++ qt4 operator-overloading

19
推荐指数
4
解决办法
2万
查看次数

如何在GTK3中拖放和排序GtkTreeView?

我正在移植liblarch,一个处理有向无环图的库,从PyGTK(GTK2)到PyGObject内省(GTK3).我遇到了GtkTreeView的问题.

使用liblarch的应用程序需要按列对GtkTreeView进行排序,但同时,用户可以拖放行,在另一行下移动一行.为此我必须手动处理dnd_data_get(),dnd_data_receive()这是完全可以的.

GtkTreeView的最小设置在PyGTK下运行.行已排序,用户可以移动行.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import gtk

window = gtk.Window()
window.set_size_request(300, 200)
window.connect('delete_event', lambda w,e: gtk.main_quit())

# Define Liblarch Tree

store = gtk.TreeStore(str, str)
store.insert(None, -1, ["A", "Task A"])
store.insert(None, -1, ["B", "Task B"])
store.insert(None, -1, ["C", "Task C"])
d_parent = store.insert(None, -1, ["D", "Task D"])
store.insert(d_parent, -1, ["E", "Task E"])

# Define TreeView in similar way as it happens in GTG/Liblarch_gtk
tv = gtk.TreeView()

col = gtk.TreeViewColumn()
col.set_title("Title")
render_text …
Run Code Online (Sandbox Code Playgroud)

python gtk porting pygtk gtk3

13
推荐指数
1
解决办法
2395
查看次数

PyGTK阻止非GUI线程

我想玩PyGTK的线程错误.到目前为止我有这个代码:

#!/usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk
import threading
from time import sleep

class SomeNonGUIThread(threading.Thread):
    def __init__(self, tid):
        super(SomeNonGUIThread, self).__init__()
        self.tid = tid

    def run(self):
        while True:
            print "Client #%d" % self.tid
            sleep(0.5)

class App(threading.Thread):
    def __init__(self):
        super(App, self).__init__()

        self.window = gtk.Window()
        self.window.set_size_request(300, 300)
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.connect('destroy', gtk.main_quit)

        self.window.show_all()

    def run(self):
        print "Main start"
        gtk.main()
        print "Main end"


if __name__ == "__main__":
    app = App()

    threads = []
    for i in range(5):
        t = SomeNonGUIThread(i)
        threads.append(t)

    # Ready, set, go!
    for …
Run Code Online (Sandbox Code Playgroud)

python multithreading pygtk

7
推荐指数
1
解决办法
1283
查看次数

如何在PyGTK中设置默认按钮?

我有一个非常简单的窗口,我有2个按钮 - 一个用于取消,一个用于应用.如何设置应用默认按钮?(当我按下回车键时,按下"应用"按钮)

但是,我想将焦点设置为第一个输入小部件(我不能在按钮上使用grab_focus())

有什么建议?

编辑:wuub的回答之后,它在视觉上很好用.但是,当我按下不同小部件中的按钮时,它不会运行默认按钮的回调.

示例代码:

import os, sys, pygtk, gtk 

def run(button, window):
    dialog = gtk.MessageDialog(window, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, "OK")
    dialog.run()
    dialog.destroy()

window = gtk.Window()
window.connect("destroy", gtk.main_quit)

vbox = gtk.VBox(spacing = 10)
entry = gtk.Entry()
vbox.pack_start(entry)

button = gtk.Button(stock = gtk.STOCK_SAVE)
button.connect("clicked", run, window)
button.set_flags(gtk.CAN_DEFAULT)
window.set_default(button)
vbox.pack_start(button)

window.add(vbox)
window.show_all()
gtk.main()
Run Code Online (Sandbox Code Playgroud)

EDIT2:必须运行每个可以激活默认小部件的输入

widget.set_activates_default(True)
Run Code Online (Sandbox Code Playgroud)

python user-interface pygtk

6
推荐指数
1
解决办法
4871
查看次数

如何将QPushButton插入TableView?

我正在实现QAbstractTableModel,我想QPushButton在每行的最后一列插入一个.当用户单击此按钮时,将显示一个新窗口,其中包含有关此行​​的更多信息.

你知道如何插入按钮吗?我知道委派系统,但所有的例子都只是关于"如何使用组合框编辑颜色"......

qt qt4 qabstracttablemodel

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

设置类变量的 Python 装饰器

我有一个代码,它获取所有函数的列表以及函数在FooBar其参数消息上支持的正则表达式:

functionList = []

def notify(RegExpression):
    def _notify(function):
        functionList.append((RegExpression, function))

        return function

    return _notify

class FooBar:
    @notify(".*")
    def everything(self, message):
        pass

        @notify("(\w+):.*")
    def reply(self, message):
        pass

for foo in functionList:
    print("%s => %s" % foo)
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情,但将函数列表及其参数作为类变量放入类中。当FooBar存在更多类似的类时,它会防止出现问题。每个类都应该有自己的列表。

def notify(RegExpression):
    # ???

class FooBar:
    functionList = []

    @notify(".*")
    def everything(self, message):
        pass

        @notify("(\w+):.*")
    def reply(self, message):
        pass

for foo in FooBar.functionList:
    print("%s => %s" % foo)
Run Code Online (Sandbox Code Playgroud)

投入什么notify()

python class decorator

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

在所有虚拟桌面/工作区上显示PyGTK窗口

我正在使用一个计时器,该计时器应在一定时间后显示一个弹出窗口。我想强迫用户接受时间已到的事实。

我想将窗口设置为在所有工作空间上可见。我可以在窗口管理器中手动设置该属性,但是应用程序应该执行该操作。

如何要求窗口管理器使窗口“在所有工作区中显示”?

python workspace pygtk

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

Python Tkinter如何使用网格为窗口着色

我正在尝试Tkinter并使用网格编写一个小窗口.

代码如下:

from Tkinter import *
from modules.logic import game
import options


class StartWindow:

    def __init__(self):


        data = open("myData", "w")
        data.close()
        self.master = Tk()
        self.l0 =Label (self.master, text = "W=jump", bg = "magenta", font = ("comic sans ms", 20, "bold")).grid(row=0, sticky = W)
        self.l1=Label (self.master, text = "A=left",bg = "magenta",font = ("comic sans ms", 20, "bold")).grid(row = 1, sticky = W)
        self.l2=Label(self.master, text = "D=Duck", bg = "magenta",font = ("comic sans ms", 20, "bold")).grid(row=2, sticky = W )
        self.l3=Label(self.master, text …
Run Code Online (Sandbox Code Playgroud)

python tkinter

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