小编Jou*_*oum的帖子

自动高度div带溢出并在需要时滚动

我正在尝试创建一个没有垂直滚动页面的网站,但我需要其中一个DIV我必须垂直扩展到页面底部(最多),并且当它的内容不适合时,div应该创建一个垂直滚动条.

我已经在这个小提琴中找到了div 内部的css,在需要时创建了滚动条.我也想出了如何使容器div增长到恰好占据页面中的垂直空间.我只是不能让他们一起锻炼!

请记住,在jsfiddle你将无法查看整个网站的内容,从这个意义上说,你得到的第二小提琴并没有真正显示正在做什么,但它按照我的意图工作.

只是另一个注意事项:因为它们是不同的小提琴,第一个小提琴中的id#container div是第二个例子的id #dcontent div.

另外还有一件事:对于一种内容,这个div将垂直滚动,但对于其他类型的内容,我希望它水平滚动,因为它将有一个产品"滑块"在这个DIV内水平显示元素.

另请看这张照片,因为它可能更容易理解我想说的是:PICTURE

我试图寻找有关这些主题的其他问题,但似乎没有一个涵盖我试图解决的所有方面......:S

如果还有其他我可以提供的帮助你/我:)搞清楚,请告诉我!

谢谢!

编辑1:修正错别字

EDIT2:添加图片进行解释

html css scroll overflow

38
推荐指数
4
解决办法
15万
查看次数

将整个文件读取到QString

我正在尝试读取文件夹中的所有文件,将它们存储在fileListvia中entryList(),然后,对于该文件夹中的每个文件,打开它并将其内容读入QString.我认为这应该很容易,但我无法弄清楚我做错了什么.我现在得到的错误是:

no matching function for call to 'QTextStream::QTextStream(QFile*, QIODevice::OpenModeFlag)'

据我所知,这涉及到错误的办法,我声明QTextStream,但事情是那个例子,我发现似乎DO这一点,所以,我为什么不能?

另外,我注意到如果我添加测试以检查文件打开是否成功,我会收到一条警告,说"访问被拒绝",即使我只是在阅读.虽然,我可以读取该文件夹的内容,甚至可以填充QListWidget这些文件没有问题.

事实上这些是*.JSON文件应该无关紧要,对吧?

我已经看过这个,这个这个例子,但是无法弄清楚我做错了什么.任何帮助表示赞赏.

这是我的代码:

foreach(QString fileName, fileList){

    QFile file(fileName);
    file.open(QIODevice::ReadOnly);
    QString s;

    QTextStream s1(&file, QIODevice::ReadOnly);
    s.append(s1.readAll());

    qDebug() << "string content:" << s; // empty!!!

}
Run Code Online (Sandbox Code Playgroud)

更新 通过cmannett85建议的修改,我不再得到错误,但由于某种原因,字符串s最后仍然是空的.关于文件夹中的读/写权限,我现在已经注意到,如果我测试

if(!file.open(QIODevice::ReadWrite))
        {
            QMessageBox::information(0,"error",file.errorString());
        }
Run Code Online (Sandbox Code Playgroud)

我得到两个警告 - 我怀疑是由- ...- 当我运行循环时.在它产生32个警告之前,我在文件夹中有30个文件.无论如何,我试图读取的文件是*.JSON,根据Windows 7中的属性对话框,它们不能设置为只读隐藏.我可以使用相同的程序在完全相同的文件夹中写入文件.

有一件事我想知道是否可能是这个原因:文件名包含.在扩展名之前,即ID.file.16.json …

file-io qt

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

D3.js缩放和平移可折叠的树形图

我正在使用D3.js绘制一个可折叠的树形图,就像在示例中一样.它的工作主要是不错,但图可能当它进入其正常功能的大小发生显着变化(即,而不是我现在有几个节点,我就会有很多更多).

我想让SVG区域滚动,我已经尝试了我在网上找到的所有东西,但它没有成功.我工作的最好的就是使用d3.behaviour.drag,我在其中拖动整个图表.它远非最佳和毛刺,但它有点可用.

即使如此,我也试图将其清理一下,并且我意识到d3.behaviour.zoom它也可用于平移 SVG区域,根据API文档.

问题:任何人都可以解释如何使其适应我的代码吗?

我希望能够用图表平移 SVG区域,如果可能的话,它会对一些误用做出反应,即尝试将图表平移出视口,并且能够缩放到最大视口的尺寸......

到目前为止这是我的代码:

var realWidth = window.innerWidth;
var realHeight = window.innerHeight;

function load(){
    callD3();
}

var m = [40, 240, 40, 240],
    w = realWidth -m[0] -m[0],
    h = realHeight -m[0] -m[2],
    i = 0,
    root;

var tree = d3.layout.tree()
    .size([h, w]);

var diagonal = d3.svg.diagonal()
    .projection(function(d) { return [d.y, d.x]; });

var vis = d3.select("#box").append("svg:svg")
    .attr("class","svg_container")
    .attr("width", w)
    .attr("height", h)
    .style("overflow", "scroll")
    .style("background-color","#EEEEEE") …
Run Code Online (Sandbox Code Playgroud)

javascript zoom pan d3.js

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

D3树:线而不是对角线投影

我正在使用d3.js使用此示例创建树.

这样可以完美地处理我拥有的数据并产生所需的结果,除了一个细节:我不希望节点之间有那些扭曲的连接线,我想要一条干净简单的线.有谁能告诉我如何制作它?

我一直在查看d3.js的API文档,但没有成功.根据我的理解,svg.line函数应该在给定一组两对坐标(x,y)的情况下产生一条直线.我认为我需要知道的是:给定这些数据,如何在链接数组中给出每对节点的(cx,cy)创建一条线:

var margin = {top: 40, right: 40, bottom: 40, left: 40};

var width = 960 - margin.left - margin.right; 

var height = 500 - margin.top - margin.bottom;

var tree = d3.layout.tree()
    .size([height, width]);

var diagonal = d3.svg.diagonal()
    .projection(function(d) { return [d.y, d.x]; });

var svg = d3.select("body").append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
    .attr("transform", "translate(" + margin.left + "," + …
Run Code Online (Sandbox Code Playgroud)

tree d3.js

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

数据库设计 - 存储序列

想象一下:有一个“配方”表和一个“配方步骤”表。这个想法是允许不同的配方步骤在不同的配方中重复使用。我遇到的问题与这样一个事实有关,即在配方上下文中,配方步骤显示的顺序很重要,即使它不遵循配方步骤表主键顺序,因为该顺序将是由用户设置。

我正在考虑做类似的事情:

配方步骤表:

身份证 | 步骤名称 | 步骤说明
-------------------------------
1 | 第一步 | 说明1
2 | 步骤2 | 说明2
3 | 步骤3 | 描述3
...


配方表:

配方编号 | 步
---------------
1 | 1
1 | 2
1 | 3
...

这样,步骤列中步骤显示的顺序就是我需要维护的顺序。

我对这种方法的担忧是:

  • 如果我必须在两个现有步骤之间添加一个新步骤,我该如何查询?如果我只需要切换序列中已有的两个步骤的顺序怎么办?
  • 我如何确保订单保持其一致性?如果我只是在配方表中插入或更新某些内容,它会在表的末尾弹出,对吗?

有没有其他方法你会想到这样做?我还想过在配方步骤表中有一个上一步和一个下一步列,但我认为以这种方式使配方步骤可重复使用会更加困难。

database sqlite sequence

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

PHP开发 - 很多(新手)问题

我是一名工科学生,本学期我正在参加数据库和信息系统课程.我需要使用PHP/PGSQL生成使用数据库的网站/应用程序.我的问题是:

  • 你会推荐哪种IDE?
  • 有没有人有新的开发人员的好建议和建议?
  • 这将有助于我(很多)开发这个项目,参加该主题的更多"学术"方面,例如实体/协会模型等.有没有什么好的工具来帮助我的工作结构?

谢谢!

编辑:一些注意事项:

  • 我忘了问最后一件事,我尝试安装BitNami的WAPP Stack.有谁知道它有多好和/或可靠?
  • 我实际上是在Windows Vista Business(新笔记本电脑:S)下工作.你会推荐在Linux下使用develloping吗?

php ide

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

在两对QGraphicsScene/QGraphicsView之间拖放QGraphicsItem

我有一个主窗口的应用程序,我在其中创建一个QGraphicsScene,如下所示:

DiagramWindow::DiagramWindow()
{
    scene = new QGraphicsScene(0, 0, 600, 500);
Run Code Online (Sandbox Code Playgroud)

然后在同一个程序中,我用另一个(不同的)QGraphicsScene 调用另一个窗口.这两个场景都有各自的QGraphicsViews,我使用相同的自定义类在每个场景/窗口中绘制QGraphicsItem.

现在我正在尝试使用这个在两个场景/窗口之间实现拖放,我得到的效果我认为与此SO问题 类似/相同.基本上,当我将QGraphicsItem从第二个窗口/场景拖动到主窗口时,它不会触发场景中的事件,它会在主窗口的工具栏/边框中触发.

我的事件处理功能是:

void DiagramWindow::dragEnterEvent(QDragEnterEvent *event)
{
    qDebug() << "I'm on the main window!";

    event->acceptProposedAction();
}
Run Code Online (Sandbox Code Playgroud)

void DiagramWindow::dropEvent(QDropEvent *event)
{
    event->acceptProposedAction();
    qDebug() << "got a drop!";
}
Run Code Online (Sandbox Code Playgroud)

根据那里的答案,我将不得不setAcceptDrops()在QGraphicsScene(这是不可能的),所以诀窍似乎是超载QGraphicsScene::dragMoveEvent().由于我的QGraphicsScene没有特定的类(仅适用于它的父级DiagramWindow),我不知道如何编写一个函数来定位场景的具体内容dragMoveEvent().

问题1我希望我可以这样做:

DiagramWindow->scene::dragMoveEvent()
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

但当然这是不可能的.我是C++/Qt的新手,一般的工作流程/语法动力学仍然让我望而却步.如何在MainWindow中定位QGraphicsScene来编写事件处理函数?

问题2另外,我注意到通过重写这些事件处理函数,我(显然)失去了我在主窗口中的大部分功能 - 选择和移动QGraphicsItems不再有效.反正只有当事件发生在第二个窗口时,我才会触发这些事件?我已经看过了,QDrag->source()但我也没有得到它的工作原理 - 比如,如果事件来自第二个窗口,那么这样做,否则,继续做你以前做过的事情 …

qt drag-and-drop qgraphicsview qgraphicsscene

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

外部SVG文件未使用JQuery加载

我试图使用JQuery在HTML5中加载简单的svg文件.但我似乎没有在我的页面中得到这种效果.请帮我解决这个问题.

我已经浏览并找到了方法,但它对我不起作用.请参阅下面的代码:

SVG文件:(Sample.svg)

<?xml version="1.0" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red" />
</svg>
Run Code Online (Sandbox Code Playgroud)

脚本:

$(document).ready(function(){
 $('#svgfile').svg({loadURL: 'Sample.svg'});
}
Run Code Online (Sandbox Code Playgroud)

MyHtml.html:

<div id="svgfile" style="background:#9b0141;width:400px; height: 400px;">
Run Code Online (Sandbox Code Playgroud)

jquery svg

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

d3.js将缩放行为更改为语义缩放

我正在用d3.js做一些关于缩放的测试.目前,我已经在我的测试中成功实现了几何缩放,但它有一个缺点:缩放下的元素g正在缩放.据我了解,这可以通过使用语义缩放来解决.

问题是我需要scale在我的测试中,因为我正在将它与jQuery.UI滑块同步value.

另一方面,我希望text调整元素大小以在缩放操作后保持其大小.

我有我目前尝试的例子在这里.

我无法更改代码以适应此目的.任何人都可以分享一些见解/想法吗?

javascript zoom d3.js

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

QtWebView VS D3.js

所以,我有我正在做的这个学校项目,我需要一个可视化工具,用于我正在开发的软件完成的一些处理的结果.

由于我使用Qt的软件,我想用的D3.js在QtWebView widget的顶部.我目前正在使用Qt"Fancy browser"示例测试D3.js的一个简单示例.我知道当我在index.html文件中添加Javascript时,它可以在Fancy浏览器上运行.出于某种原因,D3脚本中使用的Javascript没有.

问题是,我对Qt和D3.js都很新,因此我不知道我是否遗漏了有关设置的内容以使其成为可能,或者它是否只是错误的代码.

我对这种情况有些怀疑: - QtWebView甚至支持HTML文件中的SVG元素吗? - 我注意到必须将jQuery.js添加到Fancy浏览器项目的资源中才能由应用程序进行评估.据我所知,这是为了使用jQuery实现页面内容的操作.可能是我必须做与D3类似的事情吗?如果是这样,怎么样? - 很可能没有任何显示,因为我给D3的指令实际上并没有在HTML文件中产生任何东西,我该如何解决?

我试着在网上搜索我想要实现的信息,但是没有那么多来源.我在网上发现了一些关于QtWebkit和Javascript的东西,但不幸的是它并没有帮助我那么多.

最后一点说明:在我正在研究的机器中,我无法访问网络,因为它无法访问所有内容.此外,我甚至无法安装Webkit浏览器(如Chrome或其他东西)进行DOM检查,因此它不会变得更简单.:S

非常感谢任何帮助,谢谢大家!

qtwebkit d3.js

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