我在简单的QSS(Qt样式表)上有很多错误.这是Qt的错误吗?
例:

样式表:
#check1 {
color: red //didn't work here
}
#check2 {
color: red; //but work here
background-color: black
}
#label1 {
color: blue;
text-decoration: underline //work fine here
}
#label2:hover {
color: blue;
text-decoration: underline //but didn't work here
}
Run Code Online (Sandbox Code Playgroud)
资料来源:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
app.setStyleSheet(" #check1 {color: red} \
#check2 {color: red; background-color: black} \
#label1 {color: blue; text-decoration: underline} \
#label2:hover {color: blue; text-decoration: underline}");
QWidget w; w.setFixedSize(120,130);
QCheckBox …Run Code Online (Sandbox Code Playgroud) 有像textEdit->textCursor()->selectionStart()和的功能textEdit->textCursor()->selectionEnd(),但没有功能setSelectionStart,setSelectionEnd.
有没有办法手动选择文本的某些部分?
PL告诉我如果我的tabpanel只有一个标签,我怎么能隐藏tabpanel的标题"..."?
我不能使用Ext.Panel becose我用相当复杂的方法在服务器上生成ExtJS的代码,并有大量的设计错误,不允许我产生这种情况通常Ext.Panel的.

tnx all,解决方案:我添加到css规则
.strip-hidden .x-tab-strip-wrap
{
display: none;
}
.strip-show .x-tab-strip-wrap
{
display: block;
}
Run Code Online (Sandbox Code Playgroud)
在服务器端(delphi,像ExtPascal)
if (frmContainer.Tab.Items.Count = 1) then
frmContainer.Tab.Cls := 'strip-hidden'
else
frmContainer.Tab.Cls := 'strip-show';
Run Code Online (Sandbox Code Playgroud)
所以,它对我有用(chrome,firefox).
我添加了两个规则,因为我在Windows中有窗口,所以如果子窗口有很多选项卡 - 它将被父窗口的css规则隐藏.所以我有2个规则,它的工作原理.
在我的项目中我遇到字符串"内存不足异常"的问题,MM没有使用.问题显示字符串的长度为2 300,000个符号.尽管存在足够的内存并且在相同的代码部分中我可以创建具有100,000,000个字符的刺.
谷歌没有帮助,我无法拆解它(没有技能),所以我决定创建一个最小的测试示例,我可以在字符串少于2 000 000 000个符号时出现内存异常.我无法创建这样的例子,但我创造了一些陌生的东西:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var s : string;
k : integer;
function b : string;
begin
result := 'f';
end;
procedure c;
var ss : string;
begin
s := s + '{' + b + '}';
ss := 'a';
if k mod 100001 = 0 then
begin
// ss[1] := 'd'; // uncoment me
write(k mod 10);
end;
inc(k);
end;
begin
while true do c;
end.
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常.它只是通过一些额外的操作向全局字符串添加内容.问题是,如果您取消注释标记的字符串,它将显着减慢(有或没有优化).考虑到这在100,001次迭代中赋值一次,它不能减速.
问题:
Delphi中的默认字符串如何工作?
如何避免减速?
如何避免内存不足?
PS如果我将FastMM包含到主项目中,则错误消失pps带有未注释字符串的示例会在3分钟内将Windows …
我在Windows XP上有Delphi应用程序.此应用程序使用100个线程.在某些情况下,我必须通过完全丢弃线程的堆栈来终止线程.
我在WinAPI中寻找函数,比如terminatethread,但它并不安全: Windows Server 2003和Windows XP/2000:目标线程的初始堆栈未被释放,导致资源泄漏.
美好的一天!
我有一个使用TaskManager的多线程应用程序,工作者......我有一个问题.
线程执行方法看起来像:
try
task.execute();
except
on E : Exception do
begin
log(e.message);
// callResetThread/disconnectUser
end;
end;
Run Code Online (Sandbox Code Playgroud)
每个任务都有许多访问冲突,运行时错误...尝试 - 除了某些情况没有帮助.是否有任何解决方案来保护我的程序免受线程错误的影响...
Delphi 7 /没有jedi /默认内存管理器
UPDATE
亲爱的朋友们!我们有一个包含许多第三方组件的代码.该程序在单用户模式下每周提出1-2例外.当我们修改此程序以在服务器模式下使用相同的500个客户端时,我们每天可以有> 70个例外(1-2可能是关键的而不是捕获尝试...除了......结束). 我们真的明白我们必须修复所有错误 :-).但是源代码(带有第三方组件)的大小> 20 Mb ...我们真的需要你的帮助,我们如何能够捕获这个系统错误(可能使用系统方法).
使用2D数组的int,一切都很好:
int **p = new int*[8];
for (int i = 0; i < 8; i++)
p[i] = new int[8];
memset(p, 0, 64 * sizeof(int))
Run Code Online (Sandbox Code Playgroud)
但是使用二维数组的字符,我得到一个运行时错误
char **p = new char*[8];
for (int i = 0; i < 8; i++)
p[i] = new char[8];
memset(p, 0, 64 * sizeof(char));
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?