问题列表 - 第22815页

调整整个QTableWidget的大小(不是列或行)

Probabaly是一个新手问题.有没有办法让用户拖动调整大小QTableWidget?我的QTableWidget嵌套在一个选项卡小部件中,因此它本身不是一个窗口.我尝试实现一个QSizeGrip,但是当我拖动调整大小时,整个窗口调整大小而不仅仅是表格.

c++ user-interface qt

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

从WMI运行exe时的网络身份验证

我有一个需要使用WMI运行并访问网络共享的C#exe.但是,当我访问共享时,我得到一个UnauthorizedAccessException.如果我直接运行exe,则可以访问共享.我在两种情况下都使用相同的用户帐户.

我的应用程序有两个部分,一个在本地PC上运行的GUI客户端和一个在远程PC上运行的后端进程.当客户端需要连接到后端时,它首先使用WMI启动远程进程(下面转载的代码).远程进程执行许多操作,包括使用Directory.GetDirectories()访问网络共享并向客户端报告.

当客户端使用WMI自动启动远程进程时,它无法访问网络共享.但是,如果我使用远程桌面连接到远程计算机并手动启动后端进程,则会成功访问网络共享.

WMI调用中指定的用户和远程桌面会话登录的用户是相同的,因此权限应该相同,不是吗?

我在Directory.Exists()的MSDN条目中看到它指出"Exists方法不执行网络身份验证.如果您在未经过预先身份验证的情况下查询现有网络共享,则Exists方法将返回false." 我认为这是相关的?如何确保在WMI会话中正确验证用户身份?

ConnectionOptions opts = new ConnectionOptions();

opts.Username = username;
opts.Password = password;

ManagementPath path = new ManagementPath(string.Format("\\\\{0}\\root\\cimv2:Win32_Process", remoteHost));

ManagementScope scope = new ManagementScope(path, opts);

scope.Connect();

ObjectGetOptions getOpts = new ObjectGetOptions();
using (ManagementClass mngClass = new ManagementClass(scope, path, getOpts))
{
    ManagementBaseObject inParams = mngClass.GetMethodParameters("Create");
    inParams["CommandLine"] = commandLine;
    ManagementBaseObject outParams = mngClass.InvokeMethod("Create", inParams, null);
}
Run Code Online (Sandbox Code Playgroud)

.net c# wmi unc windows-authentication

11
推荐指数
1
解决办法
4870
查看次数

解析TSV文件

我需要解析TSV格式的文件(制表符分隔值).我使用正则表达式将文件分解为每一行,但我找不到令人满意的解析每一行.现在我来了:

(?<g>("[^"]+")+|[^\t]+)
Run Code Online (Sandbox Code Playgroud)

但如果该行中的项目具有超过2个连续的双引号,则它不起作用.

以下是文件的格式:每个元素由制表分隔.如果某个项目包含一个标签,则它会被双引号括起来.如果项目包含双引号,则会加倍.但有时一个元素包含4个连续双引号,上面的正则表达式将元素分成2个不同的元素.

例子:

item1ok"item""2""oK"

正确解析为2个元素:item1ok项目"2"ok(修剪不必要的引号后),但是:

item1oK"item""""2oK"

被解析为3个元素:item1ok,item"2ok(再次修剪后)".

有谁知道如何让正则表达式适合这种情况?或者是否有另一种解决TSV的解决方案?(我在C#中这样做).

c# regex parsing

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

如何在VIM中执行存储在文件中的一堆编辑器命令?

我已阅读其他帖子,例如,vim:执行编辑器命令列表和其他.对我来说,答案并不清楚.我有一些我从SQL查询生成的编辑器命令.它使用:s/foo/bar来更改国家/地区代码(从FIPS到非标准代码集).这是文件的示例:

:s/CB/CAMBO
:s/CQ/NMARI
:s/KV/KOSOV
:s/PP/PAPUA
...
Run Code Online (Sandbox Code Playgroud)

我已将其保存在名为fipsToNonStd.vim的文件中(不确定正确的扩展名).我想一个接一个地运行这些命令.最简单的方法是什么?

谢谢你!太棒了!

regex vi vim scripting automation

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

Bash PS1设置 - 如何将当前文件夹作为终端标题返回

我最近将这些行添加到我的〜/ .bashrc文件中,以显示当前分支,如果我在一个git工作文件夹中,并且它很适合.但是,我丢失的是当前文件夹名称曾经显示在我打开的终端的选项卡中,现在它不是:它总是只是说'终端'.我可以回来并仍然保留git的东西吗?这是有问题的线 - 这是问题的第二个,因为只注释第二行就可以解决问题.

source /etc/bash_completion.d/git
PS1='\h:\w$(__git_ps1 "\[\e[32m\][%s]\[\e[0m\]")$ '
Run Code Online (Sandbox Code Playgroud)

我一直在寻找PS1选项的解释,但在那里看不到关于终端窗口标题的任何信息.任何人都可以建议吗?谢谢,最大

编辑

我实际上已经操纵PS1以便拥有格式的终端

<rvm version and gemset> <computer name> <current folder> <git branch>

,每个部分都有不同的颜色,但我以前从未真正看过这些文档,所以感谢你的链接.我目前的PS1设置是

\[\033[0;31m\]$(__my_rvm_ruby_version)\[\033[0;33m\]\h\[\033[0;37m\]:\[\033[1;33m\]\W\[\033[1;32m\]$(__git_branch)\[\033[1;32m\]$(__git_dirty) \[\033[0;37m\]$
Run Code Online (Sandbox Code Playgroud)

想必我可以做点什么

export "<something> $PS1"
Run Code Online (Sandbox Code Playgroud)

设置终端选项卡名称而不会丢失现有设置.虽然我一直在探索这个问题并且无法做到这一点.

编辑 - 在下面的一些答案的帮助下想出来 - 谢谢大家!我把它包装在一个shell脚本中

#!/usr/bin/env bash
#renames the current terminal tab via the PS1 env var
source ~/.bashrc
export PS1="$PS1""\[\e]0;$1 \a\]"
Run Code Online (Sandbox Code Playgroud)

它被称为"renametab",所以我现在可以用它来调用它

source renametab mytabname
Run Code Online (Sandbox Code Playgroud)

将变量导出到当前shell中需要"source":如果我只是执行renametab mytabname导出,则会进入子shell,该脚本在脚本完成时被终止.

再次感谢所有人的帮助!

git bash

7
推荐指数
2
解决办法
5041
查看次数

如何全局捕获错误,记录它们并在J2EE应用程序中向用户显示错误页面

我在google上搜索了这个主题并看到了一些最佳实践.但我需要一些具体的建议.我正在开发一个J2EE应用程序,它有来自JSP的servlets/Struts2 /对DAO的调用.所以应用程序是各种搞砸了.大多数数据是通过存储过程获取的,这些存储过程由iBatis ORM/Spring调用.有时当SP端发生错误时,它会向用户显示一条丑陋的消息,如下所示:

javax.servlet.ServletException: org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in debtowed.xml.  
--- The error occurred while applying a parameter map.  
--- Check the debtowed.getFormerTenantData.  
--- Check the statement (update procedure failed).  
--- Cause: java.sql.SQLException: ORA-06550: line 1, column 11:
PLS-00905: object package.GET_FORMER_ADDRESS is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

Caused by: java.sql.SQLException: ORA-06550: line 1, column 11:
PLS-00905: object package.GET_FORMER_ADDRESS is invalid
ORA-06550: line 1, column 7: …
Run Code Online (Sandbox Code Playgroud)

error-handling logging java-ee ora-06550

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

Apple Singleton示例查询?

我对这段代码(在CocoaFundamentals指南中提供)有点困惑,它在创建单例实例时会覆盖一些方法.

static id sharedReactor = nil;

+(id)sharedInstance {
    if(sharedReactor == nil) sharedReactor = [[super allocWithZone:NULL] init];
    return sharedReactor;
}
Run Code Online (Sandbox Code Playgroud)

.

+(id)allocWithZone:(NSZone *)zone {
    return[[self sharedInstance] retain];
}

-(id)retain {
    return self;
}
Run Code Online (Sandbox Code Playgroud)

在创建单例实例的代码中,+ sharedInstance方法从超类(在我的例子中是NSObject)中调用[super allocWithZone:NILL]上面的allocWithZone仅在您尝试使用它来创建新单例时才被调用.

我感到困惑的是使用retain,尤其是看到retain也被覆盖以返回self.任何人都可以解释这个,不管怎么说都写不出来:

+(id)allocWithZone:(NSZone *)zone {
    return [self sharedInstance];
}

-(id)retain {
    return self;
}
Run Code Online (Sandbox Code Playgroud)

EDIT_001:

根据评论和阅读网上的各种帖子,我决定采用以下内容(见下文)我选择采用共享单例方法,如果需要,我可以选择创建第二个或第三个实例.同样在这个阶段,因为我只使用单例作为MVC的模型部分用于简单的iPhone应用程序,所以我决定将线程安全性排除在外.我知道它很重要,随着我越来越熟悉iPhone编程,我可能会使用+ initialize(记住它可以被调用两次的子类问题)另外我添加了一个dealloc,首先要记录一条消息应该是单例被释放,但如果不再需要单身人士,也要妥善清理.

@interface SharedManager : NSObject
+(id)sharedInstance;
@end

@implementation SharedManager

static id myInstance = nil;

+(id)sharedInstance {
    if(myInstance == nil) {
        myInstance = [[self alloc] init];
    }
    return myInstance;
}

-(void)dealloc …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa objective-c

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

如何将样式应用于Android应用程序的所有按钮

我的样式适用于我的整个应用程序:

AndroidManifest.xml中:

<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)

在我的styles.xml中:

 <style name="ApplicationStyle" parent="android:Theme">
  <item name="android:button">@style/CKButton</item>
 </style>
 <style name="CKButton" parent="android:style/Widget.Button">
  <item name="android:textSize">19sp</item>
  <item name="android:layout_margin">0dip</item>
  <item name="android:background">#ff0000</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

但风格并未得到应用.

对不起,如果我只是在用假名字ApplicationStyle- Item,但我不知道在哪里找对象名称和简单的假设,即android:button适用于所有的按钮.

android button stylesheet

129
推荐指数
2
解决办法
8万
查看次数

shell中if和else语句的错误

我刚接触Unix中的编程,并且有一个小问题,我不确定如何解决.我的这个脚本的目的是为用户提供各种选项,使他们想要使用的扫描类型.此扫描根据所选的选项检测具有指定变量的重复文件.

我根本无法让它工作,我不确定为什么?

另外,如果可能的话,请您就如何更好地显示选择屏幕向我提供建议.我只粘贴了部分代码,因为我想自己弄清楚其余的目标.

#!/bin/bash
same_name="1"
filesize="2"
md5sum="3"
different_name="4"
echo "The list of choices are, same_name=1, filesize=2, md5sum=3 and different name=4"
echo "Search for files with the:"
read choice 
if [$choice == "$same_name" ];then
find /home/user/OSN -type f -exec basename '{}' \; | sort > filelist.txt
find /home/user/OSN -type f -exec basename '{}' \; | sort | uniq -d > repeatlist.txt
else
ls -al /home/user/OSN  >2filelist.txt
fi
Run Code Online (Sandbox Code Playgroud)

bash shell

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

从Jquery JSON请求推送到Javascript数组

为什么这段代码总是返回0?

     var possibleMatches = new Array();
  $.getJSON('getInformation.php', function(data) {
   $.each(data, function(i){
    possibleMatches.push(data[i]);
   })
  });
  alert(possibleMatches.length);
Run Code Online (Sandbox Code Playgroud)

虽然我可以移动或添加"alert(possibleMatches.length);" 在$ .each中,它将输出正确数量的元素.

我只是好奇为什么价值不像我预期的那样进入数组.我确定它是局部变量与全局变量问题,只是不确定原因.

基本上,这是尝试做的是使用数据结果填充possibleMatches数组.

谢谢!

javascript arrays jquery

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