我有一个QTabWidget名为tabWidget.它有三个选项卡:"基本","高级"和"当前结构".选项卡按顺序显示在窗口小部件中.
我想在布尔result值为false 时禁用"高级"选项卡.我以为它会像这段代码一样简单:
bool result = false;
if (result == false)
{
tabWidget->widget(1)->setDisabled(true);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,此代码不会禁用该选项卡,即使我检查它也会保持启用状态:
tabWidget->tabBar()->isTabEnabled(1); // This returns true
Run Code Online (Sandbox Code Playgroud)
为什么标签不会被禁用?还有另一种方法吗?
我使用的是Qt 5.4.0.
我有一个NSString,我试图用它来加载XCode中的Web视图上的网页.但是,我需要用下划线替换NSString中的空格,我还需要用"%27"替换所有撇号.然后,我需要追加到fullURL NSString的末尾.每当它执行使NSString替换的代码部分时,什么都不会被替换.它与原始NSString保持一致.当我试图追加时,它不会附加.
.h文件:
@interface WikipediaViewController : UIViewController
@property (weak, nonatomic) NSString* artistName;
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@end
Run Code Online (Sandbox Code Playgroud)
使用NSString替换的方法并附加到其中:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *fullURL = @"en.wikipedia.org/wiki/";
[artistName stringByReplacingOccurrencesOfString:@" " withString:@"_"];
[artistName stringByReplacingOccurrencesOfString:@"'" withString:@"%27"];
[fullURL stringByAppendingString:artistName];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
Run Code Online (Sandbox Code Playgroud)
哦,同样,artistName变量是从不同的类初始化的,所以假设它已经包含了信息.
谁能告诉我为什么这不起作用?谢谢.