我在Qt Creator 1.0.0(Qt版本4.5.0)中编写了一个程序,在main()函数的开头我放了
srand(time(0));
Run Code Online (Sandbox Code Playgroud)
然后我从另一个线程(QThread的子类)调用rand().在该函数中,每次运行程序时,rand()都会生成相同的数字序列.我没有在一秒钟内多次运行该程序.
为什么会这样?
在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中执行此操作而无需手动创建字符串?
我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) 代码 [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.
我们使用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用于启动项目.
遵循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中显示的所有内容垂直!
我希望文本水平显示.为什么这会垂直出现,我该如何解决?
我正在使用C#,WPF和.NET 4.
编辑
如果ScrollViewer被取走,则文本会水平显示.但我需要滚动查看器.那么解决方案是什么?
我发现了
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)
哪里vs
是std::vector<std::string>
.
我正在寻找诸如QGraphicsTextItem::setPen()
, 甚至QFont::setColor()
或 之类的选项QFont::setForegroundColor()
。它们都不存在。
如何在 QGraphicsScene 上绘制彩色文本?我不想使用QGraphicsTextItem::setHtml()
和使用 HTML 来做到这一点(但不确定是否可行)。
我正在使用 Qt 4.7.4。
我正在研究.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,我可以做什么作为一种解决方法?我的设计中做错了吗?
我正在开发一个用 C# 编写的 .NET 3.5 桌面应用程序。它的复杂 UI 是动态填充的。其中一部分是以下组框,它包含在 FlowLayoutPanel 中,而 FlowLayoutPanel 包含在 UserControl 中。屏幕截图取自设计视图:
当我启动应用程序时,所有控件都会被拉伸:
Load
即使我在调用 UserControl 事件时修复每个 UserControl 大小的宽度。AutoSize
组框中所有控件的属性均为 false 。
为什么会发生这种情况以及如何预防这种情况?我希望 UI 看起来与设计视图完全相同。
编辑
这个问题的最佳答案并没有解决我的问题。首先,设置边框样式以FixedX
创建不需要的边框。其次,内部控件仍然扩展并且被边框剪掉。