小编Ole*_*e-M的帖子

检查QPainterPath中是否存在点

我有一个应用程序,我在我的场景中放置几条曲线.我正在寻找一种简单的方法来检测用户是否按下线路.boundingRect()intersects()太不准确的,当我在多线绘制.所以我创造了这个功能,除了线条是垂直的,它就像梦一样.

selectionMargin是用户设置的全局变量(默认值= 0.5).它会调整选择检查的准确程度.名称基于每个子线的线性函数y = ax + b.Pos是mousePressEvent的位置.

bool GraphApp::pointInPath(QPainterPath path, QPointF pos)
{
    qreal posY = pos.y();
    qreal posX = pos.x();

    for (int i = 0; i < path.elementCount()-1; ++i) {
        if (posX < path.elementAt(i + 1).x && posX > path.elementAt(i).x) {
            qreal dy = path.elementAt(i + 1).y - path.elementAt(i).y;
            qreal dx = path.elementAt(i + 1).x - path.elementAt(i).x;
            qreal a = dy / dx;
            qreal b = path.elementAt(i).y - (path.elementAt(i).x * a);

            if …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm qt

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

取消选择JTextfield上的默认选择

使用JTextFields时我喜欢设置默认文本.

然后我运行程序,将自动选择此默认文本(至少当您只有一个字段时).换句话说,如果我立即键入一个字母,默认文本将被删除并替换为新文本.

我的问题是如何以允许我键入字母而不删除默认文本的方式更改默认设置?我想将这封信添加到默认文本的末尾.

这是我的代码:

    public class ButtonsNText extends JPanel implements ActionListener, KeyListener {

private JTextField TextLine;
private JToggleButton UpperCaseButton;
private JToggleButton LowerCaseButton;
private JCheckBox ContinuousButton;
private ButtonGroup myButtonGroup;

public ButtonsNText(){
    TextLine = new JTextField(10);
    add(TextLine); TextLine.setName("TextLine");
    TextLine.setText("default text"); 
    TextLine.setCaretPosition(TextLine.getText().length());
    TextLine.addKeyListener(this);
    myButtonGroup = new ButtonGroup();
    UpperCaseButton = new JToggleButton("Upper case");
    add(UpperCaseButton);UpperCaseButton.setName("UpperCaseButton");
    LowerCaseButton = new JToggleButton("Lower case");
    add(LowerCaseButton); LowerCaseButton.setName("LowerCaseButton");
    ContinuousButton = new JCheckBox("Continuous?");
    add(ContinuousButton); ContinuousButton.setName("ContinuousButton");
    myButtonGroup.add(UpperCaseButton); myButtonGroup.add(LowerCaseButton);
    UpperCaseButton.addActionListener(this);
    LowerCaseButton.addActionListener(this);
    ContinuousButton.addActionListener(this);

}
public static void main(String[] args) {
    JFrame frame = new JFrame("Hello …
Run Code Online (Sandbox Code Playgroud)

java swing caret jtextfield getcaretpos

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

未定义的构造函数引用

我是一名尝试使用C++的Java开发人员.

我刚刚创建了一个新类.在我的另一个类中,我想要列出可以存储Filter对象的列表.

Filter.h

#ifndef FILTER_H_
#define FILTER_H_

class Filter {
public:
  Filter(int id);
  int id;
  ~Filter();

};

#endif /* FILTER_H_ */
Run Code Online (Sandbox Code Playgroud)

Filter.cpp

#include "Filter.h"

Filter::Filter(int id) {
this.id = id;
}
Filter::~Filter() {
}
Run Code Online (Sandbox Code Playgroud)

Cars.h

#include "Filter.h"
...
...
private:
  std::vector<Filter> filters;
Run Code Online (Sandbox Code Playgroud)

Cars.cpp

所以在这里的一个函数我尝试这样做:

int id = 2;
Filter *filter = new Filter(id);
Run Code Online (Sandbox Code Playgroud)

产生此错误:

Cars.cpp:120: undefined reference to `Filter::Filter(int)'
stl_construct.h:83: undefined reference to `Filter::~Filter()'
Run Code Online (Sandbox Code Playgroud)

这是什么原因?

c++ g++

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

在 Spring 批处理中查询批处理作业元数据

我想从与 BATCH_JOB_INSTANCE 表连接的 BATCH_JOB_EXECUTION 表中获取 10 条最新记录。

那么如何访问这些表呢?

在这个应用程序中,我使用了 Spring Data JPA。这是另一个使用 Spring Batch 并创建这些表的应用程序。换句话说,我只想运行一个 JOIN 查询并将它直接映射到我的自定义对象,只包含必要的字段。尽可能避免为两个表制作单独的模型。但我不知道这里的最佳方法。

java spring spring-batch spring-data-jpa

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

从速度值中滤除噪音和变化

我有一个应用程序连续接收速度值(m/s).这些值会产生一些噪音和变化.这种速度一直在变化,但有一些值得注意的真正变化.例如,当速度值显着下降时,可能会出现转弯.

现在我正在使用average最后的X值,其中X通常是5-15之间的数字.我在excel中绘制这些值以查看与原始数据的差异.这很有效,但lower历史值是,less我的曲线变得平滑.的higher历史价值,在smoother我的曲线变,但随后也反应后期的变化,而忽略其中的一些.

我还试图在平均计算中加权最后一个值.结果是曲线仍然有很多噪音,但只比原始数据少一点.

我正在寻找的是一种更复杂的滤除噪声的方法,它可以使我的值接近原始数据,但也忽略了小的变化和噪声.

有什么方法可以或者我可以用现有的设置做什么?

c++ algorithm math

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

错误:scalac:“ jvm-1.9”不是“ -target”的有效选择

使用Gradle创建了一个新的干净的Scala项目。

这是唯一的依赖项:

compile "org.scala-lang:scala-library:2.12.4"
Run Code Online (Sandbox Code Playgroud)

在命令行上构建时,./gradlew build效果很好。但是,当使用IntelliJ时,会出现以下警告:

Error:scalac: 'jvm-1.9' is not a valid choice for '-target'
Error:scalac: bad option: '-target:jvm-1.9'
Run Code Online (Sandbox Code Playgroud)

我同时安装了Java 8和9的JDK,但是我目前正在使用JDK 1.8。但是我不确定这是否相关。

scala intellij-idea gradle

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