小编eyl*_*esc的帖子

QML:如何将模型属性传递给在GridView(或ListView)委托中加载的委托?

我正在尝试构建一个内部托管GridView的可重用QML组件.GridView中的每个元素都有一组在整个应用程序中很常见的行为(主要是显示和基于鼠标的东西).但是,GridView元素内显示的内容会根据用例而改变.(也就是说,一个GridView使用相同的封装组件,但在应用程序的其他地方,它可能使用不同的Component.)

所以,我想要做的是让每个调用提供一个委托,该委托被添加到GridView中的每个元素,该元素已经是委托.换句话说,这样的事情:

MyGrid.qml

import QtQuick 1.1

Rectangle {
  id: myGrid
  objectName: "myGrid"

  property Component internalDelegate
  property variant internalModel

  GridView {
    anchors.fill: parent

    delegate: Row {
      Loader {
        sourceComponent: myGrid.internalDelegate
      }
    }

    model: parent.internalModel
  }
}
Run Code Online (Sandbox Code Playgroud)

我们的想法是GridView委托中的Loader加载用户提供的委托,它看起来像这样:

Main.qml

import QtQuick 1.1

Rectangle {
  anchors.fill: parent

  width: 300
  height: 200

  MyGrid {
    anchors.fill: parent

    internalDelegate: Text {
      text: name
    }

    internalModel: ListModel {
      ListElement {
        name: "a"
      }

      ListElement {
        name: "b"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.QML报告"name"是Text元素中的未知变量.如果我用字符串替换name变量(即"hello"),它会按预期工作.

我的问题是,如何将"name"变量传递给internalDelegate,或者更好的是,使整个模型可用,以便internalDelegate可以访问所有这些变量(因为调用者也在定义模型).

一个侧面问题是:有更好的方法吗?

qt listview gridview model qml

16
推荐指数
3
解决办法
3万
查看次数

使用谷歌字体,仅包含[AZ]和"&"

有没有办法使用谷歌字体,只加载[A-Z]&符号字符?

我想这样做是为了减小尺寸并缩短加载时间,因为我只会使用基本的拉丁数字和字母.

如果必须的话,我可以自己托管字体,操作字体包是合法的,但我不确定是否需要自托管以及如何操作google的字体包.

我已经指定了A-Z这样的:

http://fonts.googleapis.com/css?family=Inconsolata&text=ABCDEFGHIJKLMNOPQRSTUVWXYZ
Run Code Online (Sandbox Code Playgroud)

但指定&很麻烦.这两个都不起作用:

<link href='http://fonts.googleapis.com/css?family=Inconsolata&text=ABC&amp;' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Inconsolata&text=ABC&' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)

webfonts google-font-api google-webfonts

16
推荐指数
2
解决办法
3690
查看次数

使用QT Designer在GUI中插入图像

我是QtDesigner的新手.我想知道如何使用QT Designer在GUI中插入图像.我正在尝试添加徽标.帮助将不胜感激.

qt qt-designer

16
推荐指数
2
解决办法
3万
查看次数

如何在多个核心和线程上运行TensorFlow

我应该开始说我对任何类型的并行/多线程/多处理编程都是全新的.

现在,我有机会在32个核心上运行我的TensorFlow CNN(每个核心有2个超线程).我花了很多时间试图理解我应该如何修改(如果必须的话)我的代码以便利用所有的计算能力.不幸的是,我没有做任何事情.我希望TF可以自动完成,但是当我启动我的模型并检查topCPU使用情况时,我发现大部分时间都是100%的CPU使用率和几个200%的峰值.如果使用了所有核心,我希望看到100*64 = 6400%的使用率(正确吗?).我怎么能做到这一点?我应该做一些类似于这里解释的事情吗?如果是这种情况,我是否正确理解所有多线程仅适用于涉及队列的计算?这是否真的可以使用所有可用的计算能力(因为在我看来,队列仅用于阅读和批量训练样本时)?

如果需要,这就是我的代码:(main.py)

# pylint: disable=missing-docstring
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import time

from six.moves import xrange  # pylint: disable=redefined-builtin
import tensorflow as tf
from pylab import *

import argparse
import cnn
import freader_2

training_feats_file = ["file_name"]
training_lbls_file = ["file_name"]
test_feats_file = 'file_name'
test_lbls_file = 'file_name'
learning_rate = 0.1
testset_size = 1000
batch_size = 1000
testset_size = 793
tot_samples = 810901
max_steps = 3300 …
Run Code Online (Sandbox Code Playgroud)

python multithreading neural-network conv-neural-network tensorflow

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

如何使用Qt Designer在表单中插入QChartView?

我想添加QChart到表单中.但我在Widget Box中找不到它.所以我在代码中创建了它.我怎样才能将其插入QWidget或者QFrame还是其他什么东西?

我想在QtDesigner中设置该小部件的区域.

qt qt-designer qt5 qchart qchartview

16
推荐指数
1
解决办法
8031
查看次数

如何在 VSCode 调试器模式下绘图

如何在调试模式下使用 Visual Studio Code (VSCode) 进行绘图。在调试控制台中使用以下代码只会给我对象地址,但不会提供输出。对于例如 plt.plot(a) 也是如此。

import numpy as np
import matplotlib.pyplot as plt
a = np.random.randn(64,64)*20+100
plt.imshow(a)
>> <matplotlib.image.AxesImage object at 0x000002CFEEC37F28>
Run Code Online (Sandbox Code Playgroud)

如果我在 VSCode-python Interactive-shell 中尝试相同的代码(使用 jupyter 服务)

我得到了预期的结果

后来我的目标是能够在调试模式下调用任何可视化库(例如封装的 java 库),因为它允许我实时检查处理的数据的运行情况。

python visualization visual-studio-code

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

在我的python Qt应用程序中将Mac OSX Application Menu菜单栏项设置为"Python"以外的项目

我正在使用python和Qt编写GUI应用程序.当我在Mac上启动我的应用程序时,屏幕顶部Mac菜单栏中的第一个菜单项是"Python".我更喜欢那里的应用程序名称是我的应用程序的名称.我怎样才能获得我的程序名称?

以下演示程序创建了一个包含两个菜单的窗口:"Python"和"Foo".我不喜欢这样,因为无论我是用python还是COBOL编写应用程序,我的用户都没有区别.相反,我想要菜单"MyApp"和"Foo".

#!/usr/bin/python

# This example demonstrates unwanted "Python"
# application menu name on Mac.

# Makes no difference whether we use PySide or PyQt4
from PySide.QtGui import *
# from PyQt4.QtGui import *

import sys

app = QApplication(sys.argv)
# Mac menubar application menu is always "Python".
# I want "DesiredAppTitle" instead.
# setApplicationName() does not affect Mac menu bar.
app.setApplicationName("DesiredAppTitle")
win = QMainWindow()
# need None parent for menubar on Mac to get custom menus at all
mbar = …
Run Code Online (Sandbox Code Playgroud)

python macos pyside qmenubar

15
推荐指数
3
解决办法
9297
查看次数

使用Drive API在Google云端硬盘中创建空电子表格

我想在Google云端硬盘中创建一个空的Google表格(仅使用元数据创建).当我提到Google SpreadSheet API文档时,它说要使用DocumentsList API,但它已被弃用,而是要求我使用Google Drive API.在Drive API文档中,我找不到任何方法来创建空Sheet.任何人都知道如何做到这一点?

python google-drive-api google-api-python-client google-sheets-api

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

Qt5 - 将背景颜色设置为QPushButton和QCheckBox

我正在尝试在Qt5中更改QAbstractButton(QPushButton或QCheckBox)的背景颜色并且没有运气.

这没有任何作用:

pButton->setAutoFillBackground(true);
QPalette palette = pButton->palette();
palette.setColor(QPalette::Window, QColor(Qt::blue));
pButton->setPalette(palette);
pButton->show();
Run Code Online (Sandbox Code Playgroud)

如果我尝试更改样式表:

pButton->setStyleSheet("background-color: rgb(255,255,0);");
Run Code Online (Sandbox Code Playgroud)

然后Qt举起双手,画出一个看起来很粗糙的块状按钮.

有一个标题为" 如何更改QWidget的背景颜色 "的页面,但它只讨论了这两种方法.

还有一个页面" Qt Style Sheets Examples "暗示如果你想改变背景颜色,你必须接管绘制按钮的所有方面,这看起来有点矫枉过正.

我需要这个在Mac,Windows和Ubuntu Linux上运行,如果我必须手动绘制关于按钮的所有内容3次(每个平台一次),这真的不是一件幸福的事情.

我错过了一些明显的东西吗

ps"背景颜色"是指按钮周围的区域,而不是按钮面上文本下的颜色.

qt qcheckbox qt5 qpushbutton

15
推荐指数
5
解决办法
6万
查看次数

pylint找不到QWidget和QApplication

import sys
from PyQt5.QtWidgets import (QApplication, QWidget)
app = QApplication(sys.argv)
window = QWidget()
window.setGeometry(50, 50, 500, 300)
window.setWindowTitle('Hello, world')
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

我刚开始学习pyqt5.我写了这个hello world app,它有效.但是pylint在模块"PyQt5.QtWidgets"中给出了"E0611:No name'QWidget'",对于QApplication也是如此.这是pylint中的某种错误吗?

pylint --version
No config file found, using default configuration
pylint 1.7.2, 
astroid 1.5.3
Python 3.5.2 (default, Aug 18 2017, 17:48:00) 
[GCC 5.4.0 20160609]
Run Code Online (Sandbox Code Playgroud)

python pyqt pylint pyqt5

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