我正在尝试构建一个VC++项目,我得到这些LINK错误:
2>MyProject_p.obj : error LNK2001: unresolved external symbol _CStdStubBuffer2_Release@4
2>MyProject_p.obj : error LNK2001: unresolved external symbol _NdrStubForwardingFunction@16
2>MyProject_p.obj : error LNK2001: unresolved external symbol _IUnknown_Release_Proxy@4
2>MyProject_p.obj : error LNK2001: unresolved external symbol _IUnknown_AddRef_Proxy@4
2>MyProject_p.obj : error LNK2001: unresolved external symbol _IUnknown_QueryInterface_Proxy@12
2>MyProject_p.obj : error LNK2001: unresolved external symbol _NdrOleFree@4
2>MyProject_p.obj : error LNK2001: unresolved external symbol _NdrOleAllocate@4
Run Code Online (Sandbox Code Playgroud)
这是一个庞大的项目,有很多依赖项目 - 我已经在解决方案中添加了它们,并且它们都构建得很好.
我已经在上述实体的整个解决方案中进行了搜索,例如'CStdStubBuffer2'没有结果.我确实在MyProject_p.obj中找到了它们以及其他不可读的项目,但我不知道该怎么做.我看了类似的问题,但找不到任何可以帮助我的东西.有人能告诉我在哪里可以解决这个问题吗?谢谢.
我有一个列表视图,在其中一列(不是第一列)中我想显示错误代码.
我无法做的是显示工具提示.我有
this.lstList.ShowItemToolTips = true;
...
ListViewItem value = lstList.Items.Add(name, name, 0);
...
if (lstList.Columns.Contains(lstColErrorCode))
{
value.SubItems.Add(new ListViewItem.ListViewSubItem(value, errorCode.ToString()));
value.ToolTipText = errorCode.ToString("X");
}
Run Code Online (Sandbox Code Playgroud)
我想获得代码的十六进制值,以显示在十进制值上方的工具提示中,但它显示在名称上方.
我无法得到任何我尝试过的东西(比如试图获得子项的坐标).我将不胜感激任何建议.
我想在TeamCity中使用JavaScript的单元测试.
我正在使用QUnit,我已经看到了一些建议使用phantomjs和QUnitTeamCityDriver的地方.我只是无法让它工作......
我没有很多这方面的经验,似乎甚至无法让phantomjs在命令行中运行单元测试.
我真的从QUnitTeamCityDriver:simple_test.html复制了这个例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Example</title>
<link rel="stylesheet" href="test_tools/qunit-1.10.0.css">
<script type="text/javascript" src="resources/jquery-1.8.1.js"></script>
<script type="text/javascript" src="test_tools/qunit-1.10.0.js"></script>
<script type="text/javascript" src="qunit_teamcity_driver/QUnitTeamCityDriver.js"></script>
<script type="text/javascript" src="tests.js"></script>
</head>
<body>
<div id="qunit"></div>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用simple_test.html,tests.js有一些简单的测试可以工作与否.
当然,html中的其他引用文件位于相应的文件夹中.
phantomjs.exe,tests.js和simple_test.html位于我调用的目录的根目录中.
TeamCity构建的方向是:
Add a "Command Line" Build Step to your build in TeamCity which executes Tests.htm via PhantomJS
Command executable: C:\PhamtomJS\phantomjs.exe
Command parameters: \Scripts\QUnitTeamCityDriver.phantom.js Tests.htm
Run Code Online (Sandbox Code Playgroud)
(这不起作用,所以我想在插入TeamCity内的命令行之前测试实际的命令行)
我试过的一些事情:
phantomjs.exe …Run Code Online (Sandbox Code Playgroud) 我想异步写文件.我有一个带有一个函数的类,它接受一个向量和文件名,然后将它发送到文件中.这个函数可以从类外调用几千个时间.
我想要执行write async的原因是...调用者只能请求写入,然后不必担心它或等待写入完成.
我没有使用套接字,tcp ...
我正在研究boost :: asio,试图找到示例 - 我能找到的只是使用网络的例子:http: //liveworkspace.org/code/3R3RUd%240
boost :: asio async_read保证读取所有字节
和更多.
有人可以为文件i/o建议一个例子吗?
我的要求是否有意义?
开头的代码:
QColor yellow("#f0d048");
Qt::BrushStyle style = Qt::SolidPattern;
QBrush brush(yellow, style);
painter.setBrush(brush);
painter.drawEllipse(10,10,10,10);
Run Code Online (Sandbox Code Playgroud)
每次我这样做,我得到一个黄色圆圈,周围是黑色的1像素大小的边框.总的来说,圆圈将具有相同的尺寸,就像我用黑色绘制一样,那么我该怎样才能得到一个没有黑色边框的单色黄色圆圈?
最好的祝福
我想检查 aQString是否仅由不可打印或不可见的字符组成。该QString可包含Unicode ...
我想正则表达式可能有用,但我不知道如何创建这样的正则表达式。
如何检查 a 是否QString仅包含“不可见”字符?(空格, \n, \r, \t...)
我的“蛮力”尝试
bool checkIfEmpty(const QString &contents) const
{
for(QString::const_iterator itr(contents.begin()); itr != contents.end(); ++itr)
{
if(*itr != '\n' && *itr != '\r' && *itr != ' ' && *itr != '\t')
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试打印 .a 的内容QGraphicsScene。目标打印机可以是任何打印机 - 从普通打印机到自定义尺寸的特殊打印机。它必须以实际尺寸(英寸、毫米……)打印内容。
在QGraphicsScene我使用的假设是 72 ppi。
我假设:
1)将场景渲染到打印机将根据打印机分辨率来完成,这样我就可以获得与屏幕上显示的类似的实际尺寸(英寸/毫米)的项目。
2)我可以将打印机的纸张尺寸设置为所需的画布尺寸(这是一个非常大的场景上的矩形),超出它的范围就不会打印
3)我可以设置边距,“实际画布”之外的内容将不得打印,包括页边空白处的内容。
到目前为止我的所有假设都是错误的:
1)对于不同的打印机,如果我建议接近其默认纸张尺寸的自定义尺寸(或者如果我没有设置纸张),则渲染似乎是最大适合(使用纵横比)尺寸);
如果我设置的纸张尺寸不接近(例如默认“LETTER”尺寸的打印机上的 4x4 英寸),它只会打印一张空白页。
2-3) 在有打印的情况下,打印机只是将画布拉伸至整页,绘图区域之外的所有项目仍会打印。
我尝试在画家上或通过在渲染时设置目标矩形来进行剪辑,结果是对场景的一小部分进行了非常奇怪的剪辑。
我尝试过 HP LaserJet、Adobe PDF 和一些特定尺寸(如 4x6 英寸)的自定义打印机。他们都根据我是否指定纵向或横向将场景缩放到最大尺寸,并完全忽略我的纸张尺寸要求或实际尺寸。
这是一个小示例程序,用于重现我正在尝试做的事情。
代码中的注释显示了我尝试过的一些选项。
#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsRectItem>
#include <QGraphicsEllipseItem>
#include <QPrinter>
#include <QPrintDialog>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QGraphicsScene* s = new QGraphicsScene();
s->setSceneRect(-500, -500, 1500, 1500);
QGraphicsView* view = new QGraphicsView();
view->setScene(s);
view->show();
int canvasSize = 288; // 4 in
QRectF …Run Code Online (Sandbox Code Playgroud) 有没有办法识别由十六进制代码给出的颜色作为某种颜色的阴影?
我想我找到了一种方法,不确定准确度如何 - 但我如何判断我发现的颜色是否不够好?
我需要能够识别特定颜色的颜色匹配 - 固定集(红色,黄色,橙色,蓝色,绿色,棕色,紫色,灰色,黑色,白色).
目前我正在根据距离进行颜色匹配:
鉴于c上面的固定颜色列表中的颜色(我使用十六进制颜色设置,希望在该颜色的范围中间,我不太确定如何获得 - 现在我使用的颜色看起来很"好" "),以及可用的颜色列表list,我尝试从列表中找到最接近颜色的索引.
int matchColor(QColor c, QList<QColor> list)
{
int bestIndex = 0;
int distance;
int bestMatch = 0;
int sz = list.size() - 1;
for (int i = 0; i <= sz; ++i)
{
int Rdiff = 255 - qAbs(c.red() - list.at(i).red());
int Gdiff = 255 - qAbs(c.green() - list.at(i).green());
int Bdiff = 255 - qAbs(c.blue() - list.at(i).blue());
distance = Rdiff + Gdiff + …Run Code Online (Sandbox Code Playgroud) 是否可以从命令行项目修改解决方案并使用envdte工具?
我有一个修改解决方案的加载项.但是......超过一百个项目需要进行更改...所以我想制作具有相同逻辑的ac#程序,只需遍历所有解决方案文件.
加载项以.开头
EnvDTE.Solution solution = (EnvDTE.Solution)application.Solution;
Run Code Online (Sandbox Code Playgroud)
DTE2 application从加载项传递到哪里...
我如何获得相同的解决方案,然后我查询项目...从一个单独的程序,只会知道solutionPath?
是否可以打开解决方案,处理它并关闭它 - 继续下一个解决方案?
Microsoft给出了这个示例http://msdn.microsoft.com/en-us/library/envdte._solution.open(v=vs.100).aspx
但我不知道dte在上下文中是什么...
谢谢...
VS 2010
编辑:我做了以下答案的建议.稍微修改,使用链接:http: //msdn.microsoft.com/en-us/library/ms228772(v = vs.100).aspx
谢谢
我需要一种在多个平台之间转换点大小和像素大小的方法。
我有一个必须在多平台上运行的 Qt 应用程序,包括一种平板电脑上的嵌入式 Linux。
预计用户可以将应用程序创建的文件保存在桌面(windows 或 linux)上并在自定义设备上打开。
数据由图纸和 .s 文件QGraphicsItem上的文本组成QGraphicsScene。一些文本项是“富文本”,因此我们可以更改文本片段的字体。
对于普通文本,包括所有 UI 文本,我们使用像素大小而不是点大小来实现类似的外观。但是富文本无视我:QTextCharFormat没有pixelSize()选择。只有setFontPointSize()和fontPointSize()。我可以使用font().setPixelSize(),然后setFont(),但结果是,保存时,使用的html()方法,我失去了所有的字体信息。(一定是qt错误?)
所以,我需要的是能够在任何地方使用像素大小,然后计算点大小以将其设置在段落上(并在读取大小时反向)。
但是 - 像素大小和点大小之间的关系是什么?如果我在当前平台上为给定的字体确定了两者,我是否可以建立某种等式来使用?
编辑 - 我发现了一个有趣的帖子 - 它似乎可以做我想做的事,但它只针对 OSX。/sf/answers/1815073991/
我的目标平台,Windows / Linux / OSX,但特别是运行嵌入式 Linux 的定制平板电脑,可能在未来的 Android 设备中使用。
Qt 4.8
编辑 - 使用下面答案中的转换,使用 setPixelSize(20) 的左侧文本和使用 setPointSize(20 * screenDpi) 的右侧文本,其中
qreal screenDpi = QApplication::desktop()->physicalDpiX() / 72.;
Run Code Online (Sandbox Code Playgroud)
注意大小不一样...(在windows下运行,其他平台还没有测试过)
我什至试过
#ifdef Q_OS_WIN32
qreal screenDpi = QApplication::desktop()->physicalDpiX() / 96.;
#else …Run Code Online (Sandbox Code Playgroud)