【问题标题】:How to accept lowercase characters in the search for completion in an entry function of a combobox如何在组合框的输入功能中搜索完成时接受小写字符
【发布时间】:2019-06-13 14:54:17
【问题描述】:

此代码(如下)与 comboboxentry 不匹配所有完成 以最后两项为例:(S 或 P 或 F 字符...)
(python v2.7.15 + GTK3)

# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:     module1_TEST
# Python :  2.7.15
#-------------------------------------------------------------------------------
def main():

    # -- Import Gtk3 packages
    import gi
    gi.require_version('Gtk', '3.0')
    from gi.repository import Gtk, Gdk

    ldivers = [
        'http://www.google.com',
        'http://www.google.com/android',
        'http://www.greatstuff.com',
        'http://www.facebook.com',
        'S002.0002',
        '01-311P1015H5_F011650'
        ]
    liststore = Gtk.ListStore(str)
    for s in ldivers:
        liststore.append([s])

    completion = Gtk.EntryCompletion()
    completion.set_model(liststore)
    completion.set_text_column(0)

    entry = Gtk.Entry()
    entry.set_completion(completion)

    def match_anywhere(completeur, entrystr, iter, data):
        modelstr = completeur.get_model()[iter][0]
        return entrystr in modelstr
    completion.set_match_func(match_anywhere, None)

    # boilerplate
    window = Gtk.Window()
    window.add(entry)

    window.connect('destroy', lambda w: Gtk.main_quit())
    window.show_all()
    Gtk.main()

if __name__ == '__main__':
    main()

我提出了一个解决方案,对不起我缺乏经验,我只是想帮助那些看起来有点像我的人:)

【问题讨论】:

  • 你有什么问题?
  • 您可能想查看help center。另外,请正确格式化您的问题。标题绝对没有意义,但它应该简短地描述问题。这些SOLUTION 块是重复的和误导的。如果您想帮助其他人解决您遇到的问题,您的问题应包含问题描述,并应发布SOLUTION 作为答案。详情请见here
  • Self-answer 鼓励同时问题和答案的格式正确。
  • 嗨,没错,对不起我的英语不好! :)

标签: python-2.7 gtk3


【解决方案1】:

解决方案:考虑到大写字母与返回的交叉'modelstr.lower()'......

    def match_anywhere(completeur, entrystr, iter, data):
        modelstr = completeur.get_model()[iter][0]
        return entrystr in modelstr.lower()
    completion.set_match_func(match_anywhere, None)

【讨论】:

    猜你喜欢
    • 2019-03-08
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2023-01-20
    相关资源
    最近更新 更多