小编jdu*_*ren的帖子

字符串是如何传递给SQLAlchemy的.like()方法的

我正在使用SQLAlchemy在Flask上构建一个接口,其中一部分是搜索API.本质上,提前输入是使用其值(例如电子邮件)调用服务器,然后服务器在下面的过滤器中使用.like执行SQLalchemy查询

q = session.query(User).filter(User.email.like('%'+term+'%')).all()
Run Code Online (Sandbox Code Playgroud)

这个查询并没有真正返回任何有用的东西,并且在前几个字符之后,什么都没有.但是,如果我使用术语硬编码执行相同的查询,如下所示:

q = session.query(User).filter(User.email.like('%mysearchterm%')).all()
Run Code Online (Sandbox Code Playgroud)

它将返回结果完全正常,所以我将这个术语放入like()方法有一些东西,但我真的无法弄清楚问题是什么.该术语来自ajax POST,值在服务器端,只是.like()没有正确使用它.

"没有用"我的意思是返回的第一组结果与输入的实际术语无关,在长度高于3-4的术语之后,尽管DB中存在匹配的项目,但没有返回结果.

任何帮助非常感谢.

sql ajax sqlalchemy flask sql-like

10
推荐指数
1
解决办法
7130
查看次数

Gtk.CssProvider()基于ID的选择器如何在Gtk3中工作?

我已经反复研究了几天,但似乎无法解决可能出现的问题。

本质上,我正在尝试使用CSS样式声明在Gtk3中设置一些Gtk窗口小部件的样式,这并不复杂,只是尝试通过其id /名称来定位特定元素。Gtk.CssProvider()的Gtk文档说

#widgetname { background-color: #333333; }
Run Code Online (Sandbox Code Playgroud)

应该可以将其名称设置为“ widgetname”的窗口小部件用作有效的选择器,但我似乎无法使其正常工作。我本来以为是CSS无法加载,但是我可以像这样定位顶级窗口小部件:

GtkWindow { background-color: #333; }
Run Code Online (Sandbox Code Playgroud)

它将样式应用于窗口,我可以看到背景颜色已更改。我尝试使用名称作为几个不同类型的小部件(GtkEventBox,GtkTextView,GtkStatusBar,GtkBox)的ID,而基于ID的选择器似乎不起作用。

这是我如何加载CSS的简短片段:

css = Gtk.CssProvider()

# css.load_from_file(file)
css.load_from_data('''

GtkWindow {
    background-color: #333;
}

GtkEventBox {
    background-color: #333;
}

#statusbarwrap, #textview_event_wrap, #box1 {
     background-color: #333;
}

''')

style_context = self.get_style_context()
style_context.add_provider(
    css,
    Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
Run Code Online (Sandbox Code Playgroud)

这是GtkCssProvider的文档https://developer.gnome.org/gtk3/3.7/GtkCssProvider.html

该页面上的示例24(只需向下滚动一两页)就表明#ID选择器有效,并且我正在Glade中设置小部件的名称。

任何帮助将不胜感激。

css python gtk pygobject gtk3

5
推荐指数
2
解决办法
3786
查看次数

QT5 左对齐 OSX QTabWidget

QT5 中的 QTabWidget 有问题。

基本上我有一个应用程序,其主要内容区域是 QTabWidget。在 Ubuntu 和 Windows 上,选项卡向左对齐。然而,在 OSX 上,选项卡从选项卡小部件的中心开始。我尝试使用以下内容更改对齐方式:

QTabWidget { alignment: left; }
Run Code Online (Sandbox Code Playgroud)

QTabWidget:tab-bar { alignment: left }
QTabBar { alignment: left; }
Run Code Online (Sandbox Code Playgroud)

是否可以在 QT5 中的 OSX 上获得左对齐的选项卡?

c++ qt5

5
推荐指数
1
解决办法
1178
查看次数

标签 统计

ajax ×1

c++ ×1

css ×1

flask ×1

gtk ×1

gtk3 ×1

pygobject ×1

python ×1

qt5 ×1

sql ×1

sql-like ×1

sqlalchemy ×1