小编Don*_*alo的帖子

rand()不服从Qt Creator中的srand()

我在Qt Creator 1.0.0(Qt版本4.5.0)中编写了一个程序,在main()函数的开头我放了

srand(time(0));
Run Code Online (Sandbox Code Playgroud)

然后我从另一个线程(QThread的子类)调用rand().在该函数中,每次运行程序时,rand()都会生成相同的数字序列.我没有在一秒钟内多次运行该程序.

为什么会这样?

c++ qt multithreading

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

是否有任何setfill()替代C?

在C++中:

int main()
{
    cout << setfill('#') << setw(10) << 5 << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

#########5
Run Code Online (Sandbox Code Playgroud)

setfill()C 还有其他选择吗?或者如何在C中执行此操作而无需手动创建字符串?

c c++ output-formatting

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

WPF网格没有垂直拉伸

Grid在主窗口中有以下内容:

<Grid Name="gridMain" Width="Auto" VerticalAlignment="Stretch" Height="Auto">
</Grid>
Run Code Online (Sandbox Code Playgroud)

UserControl在网格中动态添加.主窗口只有这个网格.我希望网格水平和垂直拉伸,并应填满整个窗口.网格水平拉伸但不垂直拉伸.知道为什么吗?我需要做什么才能使网格垂直伸展?

编辑

这是完整的XAML.

<Window x:Class="Sensitech.TurboValidator.UserControls.ConveyorBelt"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ConveyorBelt" Height="329" Width="714" xmlns:my="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit">
    <Grid Name="gridMain" Width="Auto" VerticalAlignment="Stretch" Height="Auto" Background="Cyan">

    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

c# wpf grid user-interface

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

GCC中cmath的pow()的正确性

代码 [GCC,用-O2标志编译]

int main()
{
    vector< vector<int> > matrixa(8);
    int ff = 5;
    int s = pow(ff, matrixa.size());
    int ss = pow(double(ff), int(matrixa.size()));
    vector< vector<int> > comb(s);
    cout << ff << "^" << matrixa.size() << " = " << s << endl;
    cout << ss << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

产量

5^8 = 390624
390625
Run Code Online (Sandbox Code Playgroud)

我想知道为什么s = 390624它应该是390625.如果我编译没有-O2标志的代码,那么s = 390625.此外,铸件ss似乎纠正了问题.

这是怎么回事?

我的操作系统是Windows 7旗舰版x64.不确定GCC版本,它附带Code :: Blocks 10.05.

c++ math gcc g++

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

.NET Framework 4.0中的Crystal Report

我们使用Visual Studio 2010编写了一个用.NET 3.5编写的WPF应用程序.该解决方案包含8个项目 - 全部使用.NET 3.5编译.该应用程序使用Crystal Report.目标操作系统是Windows 7.

最近,由于某些第三方DLL依赖性,启动项目.NET 4.0中编译- 这些DLL需要.NET 4.0.在此更改和重建解决方案之后,Crystal Report会抛出异常.

问题出现在构造函数中ReportClass.

异常的消息:

"CrystalDecisions.CrystalReports.Engine.ReportDocument"的类型初始值设定项引发了异常.

InnerException的消息:

"由于以下错误,检索具有CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))."

我以前没有在Crystal Report工作过.可能是造成这个问题的原因是什么?

请注意,编译为.NET 3.5时不会发生此问题.Crystal Report用于启动项目.

c# crystal-reports crystal-reports-2010

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

RichTextBox垂直显示文本

遵循XAML代码:

<ScrollViewer HorizontalScrollBarVisibility="Auto"
              VerticalScrollBarVisibility="Auto">

    <DockPanel LastChildFill="True">
        <TextBox Name="textBox1" DockPanel.Dock="Top" />

        <GroupBox Header="All Events" DockPanel.Dock="Top">
            <RichTextBox Margin="5" Name="richTextBoxEvents"
                         HorizontalScrollBarVisibility="Auto"
                         VerticalScrollBarVisibility="Auto" />
        </GroupBox>
    </DockPanel>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

导致RichTextBox中显示的所有内容垂直!

RichTextBox中的垂直文本

我希望文本水平显示.为什么这会垂直出现,我该如何解决?

我正在使用C#,WPF和.NET 4.

编辑

如果ScrollViewer被取走,则文本会水平显示.但我需要滚动查看器.那么解决方案是什么?

c# wpf

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

WIndows API中的"L"和"LPCWSTR"

我发现了

NetUserChangePassword(0, 0, L"ab", L"cd");
Run Code Online (Sandbox Code Playgroud)

将用户密码从ab更改为cd.然而,

NetUserChangePassword(0, 0, (LPCWSTR) "ab", (LPCWSTR) "cd");
Run Code Online (Sandbox Code Playgroud)

不起作用.返回的值表示密码无效.

我需要传递const char*此函数调用的最后两个参数.我怎样才能做到这一点?例如,

NetUserChangePassword(0, 0, (LPCWSTR) vs[0].c_str(), (LPCWSTR) vs[1].c_str());
Run Code Online (Sandbox Code Playgroud)

哪里vsstd::vector<std::string>.

c++ winapi

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

如何在 QGraphicsScene 上绘制彩色文本?

我正在寻找诸如QGraphicsTextItem::setPen(), 甚至QFont::setColor()或 之类的选项QFont::setForegroundColor()。它们都不存在。

如何在 QGraphicsScene 上绘制彩色文本?我不想使用QGraphicsTextItem::setHtml()和使用 HTML 来做到这一点(但不确定是否可行)。

我正在使用 Qt 4.7.4。

c++ qt

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

MS代码分析规则CA1008的解决方法:枚举应具有零值

我正在研究.NET 4.0/C#项目.我为我的项目启用了一些基本的代码分析规则.我被CA1008击中了.我完全理解为什么CA1008是必要的.

我正在处理的软件与其他设备通信.这些设备是可配置的.配置存储在内部EEPROM中.其中一个配置是AlarmType,EEPROM中的值可以是1到11.我已经定义了如下警报类型:

public enum AlarmType
{
    Type1 = 1,
    Type2 = 2,
    Type3 = 3,
    // ...
    Type10 = 10,
    Type11 = 11
}
Run Code Online (Sandbox Code Playgroud)

在配置设备时,我允许用户通过使用获取警报值来选择其中一种警报类型Enum.GetValues().检查EEPROM中的值时,要求就像是从1到11的值,然后显示警报的名称,否则请考虑它Type1.

Visual Studio 2010会发出警告,指出AlarmType应该具有等于零的值.我不想添加这个,因为它会(1)违反AlarmType(AlarmType不能)的定义,None并且(2)None在枚举枚举值以呈现给用户时,需要额外的检查来排除选项.

而不是抑制CA1008,我可以做什么作为一种解决方法?我的设计中做错了吗?

.net c# enums

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

如何防止WinForm控件被拉伸并保持固定大小

我正在开发一个用 C# 编写的 .NET 3.5 桌面应用程序。它的复杂 UI 是动态填充的。其中一部分是以下组框,它包含在 FlowLayoutPanel 中,而 FlowLayoutPanel 包含在 UserControl 中。屏幕截图取自设计视图:

在此输入图像描述

当我启动应用程序时,所有控件都会被拉伸:

在此输入图像描述

Load即使我在调用 UserControl 事件时修复每个 UserControl 大小的宽度。AutoSize组框中所有控件的属性均为 false 。

为什么会发生这种情况以及如何预防这种情况?我希望 UI 看起来与设计视图完全相同。

编辑

这个问题的最佳答案并没有解决我的问题。首先,设置边框样式以FixedX创建不需要的边框。其次,内部控件仍然扩展并且被边框剪掉。

.net c# winforms

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