我是pyqt的新手 - 我正在使用它来制作图形的可视化表示.我为此制作了一个自定义小部件,这非常简单.但是现在我不得不使用内置功能.
我想在我的应用程序中添加一个"视图"并能够向其打印文本(有点像用print打印到控制台时会发生什么("blablabla"))
我尝试使用pyqt api来发现什么/如何但是......
http://pyqt.sourceforge.net/Docs/PyQt4/qtgui.html
它包含41个类型的文本+其他东西,并且公平地说我不知道使用哪一个?
所以,如果有人可以指出我哪一个,如果你有时间如何使用它为我想要的目的,那将非常感激^^
所以下面你会发现我的代码创建了一个带有私钥的自签名证书.它存储在用户存储中.现在,当我使用mmc工具时,我可以从证书中导出私钥吗?我认为这是您在创建证书时必须明确添加的标志?
所以我想知道的是,如何更改此代码,以便私钥不再可以通过mmc导出.
码:
public static X509Certificate2 GenerateSelfSignedCertificateNoCA(string subjectName, string issuerName)
{
const int keyStrength = 2048;
// Generating Random Numbers
CryptoApiRandomGenerator randomGenerator = new CryptoApiRandomGenerator();
SecureRandom random = new SecureRandom(randomGenerator);
// The Certificate Generator
X509V3CertificateGenerator certificateGenerator = new X509V3CertificateGenerator();
// Serial Number
BigInteger serialNumber = BigIntegers.CreateRandomInRange(BigInteger.One, BigInteger.ValueOf(Int64.MaxValue), random);
certificateGenerator.SetSerialNumber(serialNumber);
// Signature Algorithm
const string signatureAlgorithm = "SHA256WithRSA";
certificateGenerator.SetSignatureAlgorithm(signatureAlgorithm);
// Issuer and Subject Name
X509Name subjectDN = new X509Name(subjectName);
X509Name issuerDN = new X509Name(issuerName);
certificateGenerator.SetIssuerDN(issuerDN);
certificateGenerator.SetSubjectDN(subjectDN);
// Valid For
DateTime notBefore …Run Code Online (Sandbox Code Playgroud) 我正在创建一个显示区域地图的应用程序,我正在尝试在其上绘制可以表示信息的节点.
我完成了所有工作,但只是通过制作一个我展示的自定义小部件并在每次信息更改时一次又一次地打印所有内容.此外,我无法将节点"连接"到侦听器,因为它们只是原始小部件中的图像.
这让我想改进我的GUI,现在我正在尝试让每个类都成为一个自定义小部件!但是有一个问题,我的MapNodes不再出现了.
我搜索了stackoverflow并找到了这个有用的线程: 如何在qt中设置小部件的绝对位置
所以我必须给我的mapnodes一个父级,而parent =正在显示的小部件(?)
无论如何,这是我的投入,在此粘贴相关代码.提示哪些东西可能会出现可怕的错误:所有的内容
app = QtGui.QApplication(list())
mutexbranch = Lock()
mutexnode = Lock()
def exec():
return app.exec_()
#Singleton Pattern: wanneer en object aan iets moet kunnen
# waar het inherent door de structuur niet aankon
# wordt dit via dit singleton opgelost
class GuiInternalCommunication:
realmap = 0
class MapView(QtGui.QWidget, listener.Listener):
def __init__(self, mapimagepath):
QtGui.QMainWindow.__init__(self)
listener.Listener.__init__(self)
self.map = Map(self, mapimagepath)
#self.setCentralWidget(self.map)
self.initUI()
def initUI(self):
self.setWindowTitle('Population mapping')
hbox = QtGui.QHBoxLayout()
hbox.addWidget(self.map)
self.setLayout(hbox)
resolution = QtGui.QDesktopWidget().screenGeometry()
self.setGeometry(20,20,550,800)
self.show()
###################################################################### …Run Code Online (Sandbox Code Playgroud) 我正在使用OSGI框架来创建一个严重依赖于数据包处理的应用程序.
每个捆绑包处理一个包,然后将其发送到下一个包.我想要的是每个捆绑包都是并行的.所以我想让每个bundle都运行在它自己的Thread或多个Threads中."问题"是OSGI并不真正支持多线程.在同一个JVM上运行的每个bundle只运行在1个Thread中,因此它遵循同步模型.
我的想法:所以应用程序的本质就像生产者消费者一样.Bundle A提供的服务有一个用于将包发送给A的方法,我们称之为方法ain.Bundle B也有同样的设置,C也是如此.他们都有aa/b/cout方法,在这个方法中他们使用下一个bundle的服务,所以在A.aout你会像这样调用bin:bservice.bin(package ).
因此,每个捆绑包都是消费者和数据包的生产者,这使我认为使用ExecutorService和BlockingQueues可能会有效,但我不太确定如何在捆绑包之间实现"正确",并且所有捆绑包都是消费者和制作人我不太确定这是否是解决这个问题的最佳方法.
我希望你们能提供帮助和/或有任何建议.
- 编辑 -
捆绑AServiceImplementation
public class AServiceImplementation implements AService {
private BService bservice;
public void bindBService(BService service) {
bservice = service;
System.out.println("bundle gateway bound to b service");
}
public void unbindBService(BService service) {
this.bservice = null;
}
public void process(int id) {
bservice.transmitIn(id);
}
}
Run Code Online (Sandbox Code Playgroud)
捆绑B BServiceImplementation
public class BServiceImplementation implements BService {
private CService cservice;
public void bindCService(CService service) {
cservice = service;
System.out.println("bundle gateway bound to b service");;
}
public …Run Code Online (Sandbox Code Playgroud) 假设你有一个4x4的零矩阵A:
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
和一个4x1向量B,表示矩阵A的列索引(所以值[1:4])
4
2
3
1
Run Code Online (Sandbox Code Playgroud)
现在我想在向量B的每一行的索引上增加矩阵A中的列位置.我自己尝试了几个结构但是不能完全设法做到这一点.
例如我试过:
A(:, B) = A(:, B)+1
Run Code Online (Sandbox Code Playgroud)
这只是增加A中的每个元素.
这就是我希望操作行为的方式:
>> A(somethting(B)) = A(somethting(B)) + 1
0 0 0 1
0 1 0 0
0 0 1 0
1 0 0 0
Run Code Online (Sandbox Code Playgroud)