C# 使用 Widgets must be created in the GUI thread
在使用C#调用qt的dll时,第一次调用的一般没事,第二,三次就会出现Widgets must be created in the GUI thread。
这是我用的qt中的代码
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )
{
static bool ownApplication = FALSE;

if ( dwReason == DLL_PROCESS_ATTACH )
{
ownApplication = QMfcApp::pluginInstance( hInstance );
}
if ( dwReason == DLL_PROCESS_DETACH && ownApplication )
{
    delete qApp;
}

return TRUE;

}

这是C#中调用qt的代码

            myfun1 = new DLDApi();
            myfun1.LoadDll(@"D:\MvcAAA\MvcAAA\bin\meshlab.dll"); // 加载 "Count.dll"
            myfun1.LoadFun("Test"); // 调入函数 count, "_count@4" 是它的入口,可通过 Depends 查看

            object[] Parameters = new object[] { (int)5}; // 实参为 0
            Type[] ParameterTypes = new Type[] { typeof(int) }; // 实参类型为 int
            DLDApi.ModePass[] themode = new DLDApi.ModePass[] { DLDApi.ModePass.ByValue }; // 传送方式为值传
            Type Type_Return = typeof(int); // 返回类型为 int
            // 弹出提示框,显示调用 myfun.Invoke 方法的结果,即调用 count 函数
            int i = (int)myfun1.Invoke(Parameters, ParameterTypes, themode, Type_Return);
            myfun1.UnLoadDll();


                    C#代码在运行**UnLoadDll**卸载dll方法后,DLL_PROCESS_DETACH中断delete app并没有被执行,整个dll里面有一个qt的线程,卸载了dll后线程并没有被关闭,导致第二次运行的时候无法再次创建QWidegt对象。

        想要请教以下各位,如何让在调用完dll后让中的线程关闭掉。是应该写在C++的这个dll中还是写在C#的调用中,

        同时这个qt的dll中有一个对象My3Doperation,这个对象继承与QWidget,如何在使用完这个对象后将创建的线程彻底删除。

extern "C" __declspec(dllexport) int Test(int fileName)
{
My3Doperation model;
//计算代码
return fileName+5;
}

1个回答

DLDApi怎么实现的?里面怎么加载的dll,又是怎么释放的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
minst深度学习例程不收敛,成功率始终在十几
minst深度学习程序不收敛 是关于tensorflow的问题。我是tensorflow的初学者。从书上抄了minst的学习程序。但是运行之后,无论学习了多少批次,成功率基本不变。 我做了许多尝试,去掉了正则化,去掉了滑动平均,还是不行。把batch_size改成了2,观察变量运算情况,输入x是正确的,但神经网络的输出y很多情况下在x不一样的情况下y的两个结果是完全一样的。进而softmax的结果也是一样的。百思不得其解,找不到造成这种情况的原因。这里把代码和运行情况都贴出来,请大神帮我找找原因。大过年的,祝大家春节快乐万事如意。 补充一下,进一步的测试表明,不是不能完成训练,而是要到700000轮以上,且最高达到65%左右就不能提高了。仔细看每一步的参数,是regularization值过大10e15以上,一点点减少,前面的训练都在训练它了。这东西我不是很明白。 ``` import struct import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider, Button import tensorflow as tf import time #把MNIST的操作封装在一个类中,以后用起来方便。 class MyMinst(): def decode_idx3_ubyte(self,idx3_ubyte_file): with open(idx3_ubyte_file, 'rb') as f: print('解析文件:', idx3_ubyte_file) fb_data = f.read() offset = 0 fmt_header = '>iiii' # 以大端法读取4个 unsinged int32 magic_number, num_images, num_rows, num_cols = struct.unpack_from(fmt_header, fb_data, offset) print('idex3 魔数:{},图片数:{}'.format(magic_number, num_images)) offset += struct.calcsize(fmt_header) fmt_image = '>' + str(num_rows * num_cols) + 'B' images = np.empty((num_images, num_rows*num_cols)) #做了修改 for i in range(num_images): im = struct.unpack_from(fmt_image, fb_data, offset) images[i] = np.array(im)#这里用一维数组表示图片,np.array(im).reshape((num_rows, num_cols)) offset += struct.calcsize(fmt_image) return images def decode_idx1_ubyte(self,idx1_ubyte_file): with open(idx1_ubyte_file, 'rb') as f: print('解析文件:', idx1_ubyte_file) fb_data = f.read() offset = 0 fmt_header = '>ii' # 以大端法读取两个 unsinged int32 magic_number, label_num = struct.unpack_from(fmt_header, fb_data, offset) print('idex1 魔数:{},标签数:{}'.format(magic_number, label_num)) offset += struct.calcsize(fmt_header) labels = np.empty(shape=[0,10],dtype=float) #神经网络需要把label变成10位float的数组 fmt_label = '>B' # 每次读取一个 byte for i in range(label_num): n=struct.unpack_from(fmt_label, fb_data, offset) labels=np.append(labels,[[0,0,0,0,0,0,0,0,0,0]],axis=0) labels[i][n]=1 offset += struct.calcsize(fmt_label) return labels def __init__(self): #固定的训练文件位置 self.img=self.decode_idx3_ubyte("/home/zhangyl/Downloads/mnist/train-images.idx3-ubyte") self.result=self.decode_idx1_ubyte("/home/zhangyl/Downloads/mnist/train-labels.idx1-ubyte") print(self.result[0]) print(self.result[1000]) print(self.result[25000]) #固定的验证文件位置 self.validate_img=self.decode_idx3_ubyte("/home/zhangyl/Downloads/mnist/t10k-images.idx3-ubyte") self.validate_result=self.decode_idx1_ubyte("/home/zhangyl/Downloads/mnist/t10k-labels.idx1-ubyte") #每一批读训练数据的起始位置 self.train_read_addr=0 #每一批读训练数据的batchsize self.train_batchsize=100 #每一批读验证数据的起始位置 self.validate_read_addr=0 #每一批读验证数据的batchsize self.validate_batchsize=100 #定义用于返回batch数据的变量 self.train_img_batch=self.img self.train_result_batch=self.result self.validate_img_batch=self.validate_img self.validate_result_batch=self.validate_result def get_next_batch_traindata(self): n=len(self.img) #对参数范围适当约束 if self.train_read_addr+self.train_batchsize<=n : self.train_img_batch=self.img[self.train_read_addr:self.train_read_addr+self.train_batchsize] self.train_result_batch=self.result[self.train_read_addr:self.train_read_addr+self.train_batchsize] self.train_read_addr+=self.train_batchsize #改变起始位置 if self.train_read_addr==n : self.train_read_addr=0 else: self.train_img_batch=self.img[self.train_read_addr:n] self.train_img_batch.append(self.img[0:self.train_read_addr+self.train_batchsize-n]) self.train_result_batch=self.result[self.train_read_addr:n] self.train_result_batch.append(self.result[0:self.train_read_addr+self.train_batchsize-n]) self.train_read_addr=self.train_read_addr+self.train_batchsize-n #改变起始位置,这里没考虑batchsize大于n的情形 return self.train_img_batch,self.train_result_batch #测试一下用临时变量返回是否可行 def set_train_read_addr(self,addr): self.train_read_addr=addr def set_train_batchsize(self,batchsize): self.train_batchsize=batchsize if batchsize <1 : self.train_batchsize=1 def set_validate_read_addr(self,addr): self.validate_read_addr=addr def set_validate_batchsize(self,batchsize): self.validate_batchsize=batchsize if batchsize<1 : self.validate_batchsize=1 myminst=MyMinst() #minst类的实例 batch_size=2 #设置每一轮训练的Batch大小 learning_rate=0.8 #初始学习率 learning_rate_decay=0.999 #学习率的衰减 max_steps=300000 #最大训练步数 #定义存储训练轮数的变量,在使用tensorflow训练神经网络时, #一般会将代表训练轮数的变量通过trainable参数设置为不可训练的 training_step = tf.Variable(0,trainable=False) #定义得到隐藏层和输出层的前向传播计算方式,激活函数使用relu() def hidden_layer(input_tensor,weights1,biases1,weights2,biases2,layer_name): layer1=tf.nn.relu(tf.matmul(input_tensor,weights1)+biases1) return tf.matmul(layer1,weights2)+biases2 x=tf.placeholder(tf.float32,[None,784],name="x-input") y_=tf.placeholder(tf.float32,[None,10],name="y-output") #生成隐藏层参数,其中weights包含784*500=39200个参数 weights1=tf.Variable(tf.truncated_normal([784,500],stddev=0.1)) biases1=tf.Variable(tf.constant(0.1,shape=[500])) #生成输出层参数,其中weights2包含500*10=5000个参数 weights2=tf.Variable(tf.truncated_normal([500,10],stddev=0.1)) biases2=tf.Variable(tf.constant(0.1,shape=[10])) #计算经过神经网络前后向传播后得到的y值 y=hidden_layer(x,weights1,biases1,weights2,biases2,'y') #初始化一个滑动平均类,衰减率为0.99 #为了使模型在训练前期可以更新的更快,这里提供了num_updates参数,并设置为当前网络的训练轮数 #averages_class=tf.train.ExponentialMovingAverage(0.99,training_step) #定义一个更新变量滑动平均值的操作需要向滑动平均类的apply()函数提供一个参数列表 #train_variables()函数返回集合图上Graph.TRAINABLE_VARIABLES中的元素。 #这个集合的元素就是所有没有指定trainable_variables=False的参数 #averages_op=averages_class.apply(tf.trainable_variables()) #再次计算经过神经网络前向传播后得到的y值,这里使用了滑动平均,但要牢记滑动平均值只是一个影子变量 #average_y=hidden_layer(x,averages_class.average(weights1), # averages_class.average(biases1), # averages_class.average(weights2), # averages_class.average(biases2), # 'average_y') #softmax,计算交叉熵损失,L2正则,随机梯度优化器,学习率采用指数衰减 #函数原型为sparse_softmax_cross_entropy_with_logits(_sential,labels,logdits,name) #与softmax_cross_entropy_with_logits()函数的计算方式相同,更适用于每个类别相互独立且排斥 #的情况,即每一幅图只能属于一类 #在1.0.0版本的TensorFlow中,这个函数只能通过命名参数的方式来使用,在这里logits参数是神经网 #络不包括softmax层的前向传播结果,lables参数给出了训练数据的正确答案 softmax=tf.nn.softmax(y) cross_entropy=tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y+1e-10,labels=tf.argmax(y_,1)) #argmax()函数原型为argmax(input,axis,name,dimension)用于计算每一个样例的预测答案,其中 # input参数y是一个batch_size*10(batch_size行,10列)的二维数组。每一行表示一个样例前向传 # 播的结果,axis参数“1”表示选取最大值的操作只在第一个维度进行。即只在每一行选取最大值对应的下标 # 于是得到的结果是一个长度为batch_size的一维数组,这个一维数组的值就表示了每一个样例的数字识别 # 结果。 regularizer=tf.contrib.layers.l2_regularizer(0.0001) #计算L2正则化损失函数 regularization=regularizer(weights1)+regularizer(weights2) #计算模型的正则化损失 loss=tf.reduce_mean(cross_entropy)#+regularization #总损失 #用指数衰减法设置学习率,这里staircase参数采用默认的False,即学习率连续衰减 learning_rate=tf.train.exponential_decay(learning_rate,training_step, batch_size,learning_rate_decay) #使用GradientDescentOptimizer优化算法来优化交叉熵损失和正则化损失 train_op=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=training_step) #在训练这个模型时,每过一遍数据既需要通过反向传播来更新神经网络中的参数,又需要 # 更新每一个参数的滑动平均值。control_dependencies()用于这样的一次性多次操作 #同样的操作也可以使用下面这行代码完成: #train_op=tf.group(train_step,average_op) #with tf.control_dependencies([train_step,averages_op]): # train_op=tf.no_op(name="train") #检查使用了滑动平均模型的神经网络前向传播结果是否正确 #equal()函数原型为equal(x,y,name),用于判断两个张量的每一维是否相等。 #如果相等返回True,否则返回False crorent_predicition=tf.equal(tf.argmax(y,1),tf.argmax(y_,1)) #cast()函数的原型为cast(x,DstT,name),在这里用于将一个布尔型的数据转换为float32类型 #之后对得到的float32型数据求平均值,这个平均值就是模型在这一组数据上的正确率 accuracy=tf.reduce_mean(tf.cast(crorent_predicition,tf.float32)) #创建会话和开始训练过程 with tf.Session() as sess: #在稍早的版本中一般使用initialize_all_variables()函数初始化全部变量 tf.global_variables_initializer().run() #准备验证数据 validate_feed={x:myminst.validate_img,y_:myminst.validate_result} #准备测试数据 test_feed= {x:myminst.img,y_:myminst.result} for i in range(max_steps): if i%1000==0: #计算滑动平均模型在验证数据上的结果 #为了能得到百分数输出,需要将得到的validate_accuracy扩大100倍 validate_accuracy= sess.run(accuracy,feed_dict=validate_feed) print("After %d trainning steps,validation accuracy using average model is %g%%" %(i,validate_accuracy*100)) #产生这一轮使用一个batch的训练数据,并进行训练 #input_data.read_data_sets()函数生成的类提供了train.next_batch()函数 #通过设置函数的batch_size参数就可以从所有的训练数据中读取一个小部分作为一个训练batch myminst.set_train_batchsize(batch_size) xs,ys=myminst.get_next_batch_traindata() var_print=sess.run([x,y,y_,loss,train_op,softmax,cross_entropy,regularization,weights1],feed_dict={x:xs,y_:ys}) print("after ",i," trainning steps:") print("x=",var_print[0][0],var_print[0][1],"y=",var_print[1],"y_=",var_print[2],"loss=",var_print[3], "softmax=",var_print[5],"cross_entropy=",var_print[6],"regularization=",var_print[7],var_print[7]) time.sleep(0.5) #使用测试数据集检验神经网络训练之后的正确率 #为了能得到百分数输出,需要将得到的test_accuracy扩大100倍 test_accuracy=sess.run(accuracy,feed_dict=test_feed) print("After %d training steps,test accuracy using average model is %g%%"%(max_steps,test_accuracy*100)) 下面是运行情况的一部分: x= [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 76. 202. 254. 255. 163. 37. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 13. 182. 253. 253. 253. 253. 253. 253. 23. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 15. 179. 253. 253. 212. 91. 218. 253. 253. 179. 109. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 105. 253. 253. 160. 35. 156. 253. 253. 253. 253. 250. 113. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 19. 212. 253. 253. 88. 121. 253. 233. 128. 91. 245. 253. 248. 114. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 104. 253. 253. 110. 2. 142. 253. 90. 0. 0. 26. 199. 253. 248. 63. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 173. 253. 253. 29. 0. 84. 228. 39. 0. 0. 0. 72. 251. 253. 215. 29. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 36. 253. 253. 203. 13. 0. 0. 0. 0. 0. 0. 0. 0. 82. 253. 253. 170. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 36. 253. 253. 164. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 198. 253. 184. 6. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 36. 253. 253. 82. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 138. 253. 253. 35. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 128. 253. 253. 47. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 48. 253. 253. 35. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 154. 253. 253. 47. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 48. 253. 253. 35. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 102. 253. 253. 99. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 48. 253. 253. 35. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 36. 253. 253. 164. 0. 0. 0. 0. 0. 0. 0. 0. 0. 16. 208. 253. 211. 17. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 32. 244. 253. 175. 4. 0. 0. 0. 0. 0. 0. 0. 0. 44. 253. 253. 156. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 171. 253. 253. 29. 0. 0. 0. 0. 0. 0. 0. 30. 217. 253. 188. 19. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 171. 253. 253. 59. 0. 0. 0. 0. 0. 0. 60. 217. 253. 253. 70. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 78. 253. 253. 231. 48. 0. 0. 0. 26. 128. 249. 253. 244. 94. 15. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 151. 253. 253. 234. 101. 121. 219. 229. 253. 253. 201. 80. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 38. 232. 253. 253. 253. 253. 253. 253. 253. 201. 66. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 232. 253. 253. 95. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 86. 46. 0. 0. 0. 0. 0. 0. 91. 246. 252. 232. 57. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 103. 252. 187. 13. 0. 0. 0. 0. 22. 219. 252. 252. 175. 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 0. 0. 0. 0. 8. 181. 252. 246. 30. 0. 0. 0. 0. 65. 252. 237. 197. 64. 0. 0. 0. 0. 0. 0. 0. 0. 0. 87. 0. 0. 0. 13. 172. 252. 252. 104. 0. 0. 0. 0. 5. 184. 252. 67. 103. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 172. 252. 248. 145. 14. 0. 0. 0. 0. 109. 252. 183. 137. 64. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 224. 252. 248. 134. 0. 0. 0. 0. 0. 53. 238. 252. 245. 86. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 12. 174. 252. 223. 88. 0. 0. 0. 0. 0. 0. 209. 252. 252. 179. 9. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 171. 252. 246. 61. 0. 0. 0. 0. 0. 0. 83. 241. 252. 211. 14. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 129. 252. 252. 249. 220. 220. 215. 111. 192. 220. 221. 243. 252. 252. 149. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 144. 253. 253. 253. 253. 253. 253. 253. 253. 253. 255. 253. 226. 153. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 44. 77. 77. 77. 77. 77. 77. 77. 77. 153. 253. 235. 32. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 74. 214. 240. 114. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 24. 221. 243. 57. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 180. 252. 119. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 136. 252. 153. 7. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 136. 251. 226. 34. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 123. 252. 246. 39. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 165. 252. 127. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 165. 175. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] y= [[ 0.58273095 0.50121385 -0.74845004 0.35842288 -0.13741069 -0.5839622 0.2642774 0.5101677 -0.29416046 0.5471707 ] [ 0.58273095 0.50121385 -0.74845004 0.35842288 -0.13741069 -0.5839622 0.2642774 0.5101677 -0.29416046 0.5471707 ]] y_= [[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]] loss= 2.2801425 softmax= [[0.14659645 0.13512042 0.03872566 0.11714067 0.07134604 0.04564939 0.10661562 0.13633572 0.06099501 0.14147504] [0.14659645 0.13512042 0.03872566 0.11714067 0.07134604 0.04564939 0.10661562 0.13633572 0.06099501 0.14147504]] cross_entropy= [1.9200717 2.6402135] regularization= 50459690000000.0 50459690000000.0 after 45 trainning steps: x= [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 25. 214. 225. 90. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 145. 212. 253. 253. 60. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 106. 253. 253. 246. 188. 23. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 45. 164. 254. 253. 223. 108. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 24. 236. 253. 252. 124. 28. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 100. 217. 253. 218. 116. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 158. 175. 225. 253. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 24. 217. 241. 248. 114. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 21. 201. 253. 253. 114. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 107. 253. 253. 213. 19. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 170. 254. 254. 169. 0. 0. 0. 0. 0. 2. 13. 100. 133. 89. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 18. 210. 253. 253. 100. 0. 0. 0. 19. 76. 116. 253. 253. 253. 176. 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 41. 222. 253. 208. 18. 0. 0. 93. 209. 232. 217. 224. 253. 253. 241. 31. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 157. 253. 253. 229. 32. 0. 154. 250. 246. 36. 0. 49. 253. 253. 168. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 128. 253. 253. 253. 195. 125. 247. 166. 69. 0. 0. 37. 236. 253. 168. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 37. 253. 253. 253. 253. 253. 135. 32. 0. 7. 130. 73. 202. 253. 133. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 185. 253. 253. 253. 253. 64. 0. 10. 210. 253. 253. 253. 153. 9. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 66. 253. 253. 253. 253. 238. 218. 221. 253. 253. 235. 156. 37. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 111. 228. 253. 253. 253. 253. 254. 253. 168. 19. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 9. 110. 178. 253. 253. 249. 63. 5. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 121. 121. 240. 253. 218. 121. 121. 44. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 17. 107. 184. 240. 253. 252. 252. 252. 252. 252. 252. 219. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 75. 122. 230. 252. 252. 252. 253. 252. 252. 252. 252. 252. 252. 239. 56. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 77. 129. 213. 244. 252. 252. 252. 252. 252. 253. 252. 252. 209. 252. 252. 252. 225. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 240. 252. 252. 252. 252. 252. 252. 213. 185. 53. 53. 53. 89. 252. 252. 252. 120. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 240. 232. 198. 93. 164. 108. 66. 28. 0. 0. 0. 0. 81. 252. 252. 222. 24. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 76. 50. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 171. 252. 243. 108. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 144. 238. 252. 115. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 70. 241. 248. 133. 28. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 121. 252. 252. 172. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 64. 255. 253. 209. 21. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 13. 246. 253. 207. 21. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 172. 252. 209. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 13. 168. 252. 252. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 43. 208. 252. 241. 53. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 15. 166. 252. 204. 62. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 13. 166. 243. 191. 29. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 168. 231. 177. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 6. 172. 241. 50. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 177. 202. 19. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] y= [[ 0.8592988 0.3954708 -0.77875614 0.26675048 0.19804694 -0.61968666 0.18084174 0.4034736 -0.34189415 0.43645462] [ 0.8592988 0.3954708 -0.77875614 0.26675048 0.19804694 -0.61968666 0.18084174 0.4034736 -0.34189415 0.43645462]] y_= [[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]] loss= 2.2191708 softmax= [[0.19166051 0.12052987 0.0372507 0.10597225 0.09893605 0.04367344 0.09724841 0.12149832 0.05765821 0.12557226] [0.19166051 0.12052987 0.0372507 0.10597225 0.09893605 0.04367344 0.09724841 0.12149832 0.05765821 0.12557226]] cross_entropy= [2.3304868 2.1078548] regularization= 50459690000000.0 50459690000000.0 after 46 trainning steps: x= [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 196. 99. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 49. 0. 0. 0. 0. 0. 0. 34. 244. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 89. 135. 0. 0. 0. 0. 0. 0. 40. 253. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 171. 150. 0. 0. 0. 0. 0. 0. 40. 253. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 254. 233. 0. 0. 0. 0. 0. 0. 77. 253. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 255. 136. 0. 0. 0. 0. 0. 0. 77. 254. 99. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 254. 135. 0. 0. 0. 0. 0. 0. 123. 253. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 254. 135. 0. 0. 0. 0. 0. 0. 136. 253. 98. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 16. 254. 135. 0. 0. 0. 0. 0. 0. 136. 237. 8. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 98. 254. 135. 0. 0. 38. 99. 98. 98. 219. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 196. 255. 208. 186. 254. 254. 255. 254. 254. 254. 254. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 105. 254. 253. 239. 180. 135. 39. 39. 39. 237. 170. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 137. 92. 24. 0. 0. 0. 0. 0. 234. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 13. 237. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 79. 253. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 31. 242. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 61. 248. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 234. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 234. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 196. 155. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 50. 236. 255. 124. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 53. 231. 253. 253. 107. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 9. 193. 253. 253. 230. 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 156. 253. 253. 149. 36. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 24. 253. 253. 190. 8. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 175. 253. 253. 72. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 123. 253. 253. 138. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 244. 253. 230. 34. 0. 9. 24. 23. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 181. 253. 249. 123. 0. 69. 195. 253. 249. 146. 15. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 21. 231. 253. 202. 0. 70. 236. 253. 253. 253. 253. 170. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 22. 139. 253. 213. 26. 13. 200. 253. 253. 183. 252. 253. 220. 22. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 72. 253. 253. 129. 0. 86. 253. 253. 129. 4. 105. 253. 253. 70. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 72. 253. 253. 77. 22. 245. 253. 183. 4. 0. 2. 105. 253. 70. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 132. 253. 253. 11. 24. 253. 253. 116. 0. 0. 1. 150. 253. 70. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 189. 253. 241. 10. 24. 253. 253. 59. 0. 0. 82. 253. 212. 30. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 189. 253. 147. 0. 24. 253. 253. 150. 30. 44. 208. 212. 31. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 189. 253. 174. 3. 7. 185. 253. 253. 227. 247. 184. 30. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 150. 253. 253. 145. 95. 234. 253. 253. 253. 126. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 72. 253. 253. 253. 253. 253. 253. 253. 169. 14. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 114. 240. 253. 253. 234. 135. 44. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] y= [[ 0.7093834 0.30119324 -0.80789334 0.1838598 0.12065991 -0.6538477 0.49587095 0.6995347 -0.38699397 0.33823296] [ 0.7093834 0.30119324 -0.80789334 0.1838598 0.12065991 -0.6538477 0.49587095 0.6995347 -0.38699397 0.33823296]] y_= [[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]] loss= 2.2107558 softmax= [[0.16371341 0.10884525 0.03590371 0.09679484 0.09086671 0.04188326 0.1322382 0.16210894 0.05469323 0.11295244] [0.16371341 0.10884525 0.03590371 0.09679484 0.09086671 0.04188326 0.1322382 0.16210894 0.05469323 0.11295244]] cross_entropy= [2.3983614 2.0231504] regularization= 50459690000000.0 50459690000000.0 after 47 trainning steps: x= [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 139. 212. 253. 159. 86. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 34. 89. 203. 253. 252. 252. 252. 252. 74. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 49. 184. 234. 252. 252. 184. 110. 100. 208. 252. 199. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 95. 233. 252. 252. 176. 56. 0. 0. 0. 17. 234. 249. 75. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 220. 253. 178. 54. 4. 0. 0. 0. 0. 43. 240. 243. 50. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 221. 255. 180. 55. 5. 0. 0. 0. 7. 160. 253. 168. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 116. 253. 252. 252. 67. 0. 0. 0. 91. 252. 231. 42. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 32. 190. 252. 252. 185. 38. 0. 119. 234. 252. 54. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 15. 177. 252. 252. 179. 155. 236. 227. 119. 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 26. 221. 252. 252. 253. 252. 130. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 32. 229. 253. 255. 144. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 66. 236. 252. 253. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 66. 234. 252. 252. 253. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 19. 236. 252. 252. 252. 253. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 53. 181. 252. 168. 43. 232. 253. 92. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 179. 255. 218. 32. 93. 253. 252. 84. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 81. 244. 239. 33. 0. 114. 252. 209. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 207. 252. 237. 70. 153. 240. 252. 32. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 207. 252. 253. 252. 252. 252. 210. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 61. 242. 253. 252. 168. 96. 12. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 68. 254. 255. 254. 107. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 176. 230. 253. 253. 253. 212. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 28. 197. 253. 253. 253. 253. 253. 229. 107. 14. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 194. 253. 253. 253. 253. 253. 253. 253. 253. 53. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 69. 241. 253. 253. 253. 253. 241. 186. 253. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 161. 253. 253. 253. 246. 40. 57. 231. 253. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 140. 253. 253. 253. 253. 154. 0. 25. 253. 253. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 213. 253. 253. 253. 135. 8. 0. 3. 128. 253. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 77. 238. 253. 253. 253. 7. 0. 0. 0. 116. 253. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 165. 253. 253. 231. 70. 1. 0. 0. 0. 78. 237. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 33. 253. 253. 253. 182. 0. 0. 0. 0. 0. 0. 200. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 98. 253. 253. 253. 24. 0. 0. 0. 0. 0. 0. 42. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 253. 24. 0. 0. 0. 0. 0. 0. 163. 253. 195. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 189. 13. 0. 0. 0. 0. 0. 53. 227. 253. 121. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 114. 0. 0. 0. 0. 0. 21. 227. 253. 231. 27. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 114. 0. 0. 0. 5. 131. 143. 253. 231. 59. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 236. 73. 58. 217. 223. 253. 253. 253. 174. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 197. 253. 253. 253. 253. 253. 253. 253. 253. 253. 253. 48. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 149. 253. 253. 253. 253. 253. 253. 253. 253. 182. 15. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 12. 168. 253. 253. 253. 253. 253. 248. 89. 23. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] y= [[ 0.5813921 0.21609789 -0.8359629 0.10818548 0.44052082 -0.6865921 0.78338754 0.5727978 -0.4297532 0.24992661] [ 0.5813921 0.21609789 -0.8359629 0.10818548 0.44052082 -0.6865921 0.78338754 0.5727978 -0.4297532 0.24992661]] y_= [[0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]] loss= 2.452383 softmax= [[0.14272858 0.09905256 0.03459087 0.08892009 0.1239742 0.04016358 0.1746773 0.14150718 0.05192496 0.10246069] [0.14272858 0.09905256 0.03459087 0.08892009 0.1239742 0.04016358 0.1746773 0.14150718 0.05192496 0.10246069]] cross_entropy= [2.9579558 1.9468105] regularization= 50459690000000.0 50459690000000.0 已终止 ```
hexo博客无法显示背景图片
hexo框架写的博客,主题是next,本地预览可以看到背景,但是真实网站看不到,已经试过先hexo c之后再上传,还是没有用 hexo的配置文件 ``` # Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # Site title: subtitle: description: 这是一个搞着玩的博客,功能暂未完全完善,将就着看吧您内~! keywords: author: 肖肖 language: zh-Hans timezone: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://yoursite.com root: / permalink: :year/:month/:day/:title/ permalink_defaults: # Directory source_dir: source public_dir: public tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code i18n_dir: :lang skip_render: # Writing new_post_name: :title.md # File name of new posts default_layout: post titlecase: false # Transform title into titlecase external_link: true # Open external links in new tab filename_case: 0 render_drafts: false post_asset_folder: true relative_link: false future: true highlight: enable: true line_number: true auto_detect: false tab_replace: # Home page setting # path: Root path for your blogs index page. (default = '') # per_page: Posts displayed per page. (0 = disable pagination) # order_by: Posts order. (Order by date descending by default) index_generator: path: '' per_page: 10 order_by: -date # Category & Tag default_category: uncategorized category_map: tag_map: # Date / Time format ## Hexo uses Moment.js to parse and display date ## You can customize the date format as defined in ## http://momentjs.com/docs/#/displaying/format/ date_format: YYYY-MM-DD time_format: HH:mm:ss # Pagination ## Set per_page to 0 to disable pagination per_page: 10 pagination_dir: page # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: next # Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: branch: master ``` 然后是next的配置文件 ``` # =============================================================== # ========================= ATTENTION! ========================== # =============================================================== # NexT repository is moving here: https://github.com/theme-next # =============================================================== # It's rebase to v6.0.0 and future maintenance will resume there # =============================================================== # --------------------------------------------------------------- # Theme Core Configuration Settings # --------------------------------------------------------------- # Set to true, if you want to fully override the default configuration. # Useful if you don't want to inherit the theme _config.yml configurations. override: false # --------------------------------------------------------------- # Site Information Settings # --------------------------------------------------------------- # To get or check favicons visit: https://realfavicongenerator.net # Put your favicons into `hexo-site/source/` (recommend) or `hexo-site/themes/next/source/images/` directory. # Default NexT favicons placed in `hexo-site/themes/next/source/images/` directory. # And if you want to place your icons in `hexo-site/source/` root directory, you must remove `/images` prefix from pathes. # For example, you put your favicons into `hexo-site/source/images` directory. # Then need to rename & redefine they on any other names, otherwise icons from Next will rewrite your custom icons in Hexo. favicon: small: /images/favicon-16x16-next.png medium: /images/favicon.ico apple_touch_icon: /images/apple-touch-icon-next.png safari_pinned_tab: /images/logo.svg #android_manifest: /images/manifest.json #ms_browserconfig: /images/browserconfig.xml # Set default keywords (Use a comma to separate) keywords: "Hexo, NexT" # Set rss to false to disable feed link. # Leave rss as empty to use site's feed link. # Set rss to specific value if you have burned your feed already. rss: footer: # Specify the date when the site was setup. # If not defined, current year will be used. since: 2019 # Icon between year and copyright info. icon: user # If not defined, will be used `author` from Hexo main config. copyright: # ------------------------------------------------------------- # Hexo link (Powered by Hexo). powered: true theme: # Theme & scheme info link (Theme - NexT.scheme). enable: true # Version info of NexT after scheme info (vX.X.X). version: true # ------------------------------------------------------------- # Any custom text can be defined here. #custom_text: Hosted by <a target="_blank" href="https://pages.github.com">GitHub Pages</a> # --------------------------------------------------------------- # SEO Settings # --------------------------------------------------------------- # Canonical, set a canonical link tag in your hexo, you could use it for your SEO of blog. # See: https://support.google.com/webmasters/answer/139066 # Tips: Before you open this tag, remember set up your URL in hexo _config.yml ( ex. url: http://yourdomain.com ) canonical: true # Change headers hierarchy on site-subtitle (will be main site description) and on all post/pages titles for better SEO-optimization. seo: false # If true, will add site-subtitle to index page, added in main hexo config. # subtitle: Subtitle index_with_subtitle: false # --------------------------------------------------------------- # Menu Settings # --------------------------------------------------------------- # When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash from link value (/archives -> archives). # Usage: `Key: /link/ || icon` # Key is the name of menu item. If translate for this menu will find in languages - this translate will be loaded; if not - Key name will be used. Key is case-senstive. # Value before `||` delimeter is the target link. # Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, question icon will be loaded. menu: home: / || home #about: /about/ || user #tags: /tags/ || tags #categories: /categories/ || th archives: /archives/ || archive #schedule: /schedule/ || calendar #sitemap: /sitemap.xml || sitemap #commonweal: /404/ || heartbeat # Enable/Disable menu icons. menu_icons: enable: true # --------------------------------------------------------------- # Scheme Settings # --------------------------------------------------------------- # Schemes #scheme: Muse #scheme: Mist #scheme: Pisces scheme: Gemini # --------------------------------------------------------------- # Sidebar Settings # --------------------------------------------------------------- # Social Links. # Usage: `Key: permalink || icon` # Key is the link label showing to end users. # Value before `||` delimeter is the target permalink. # Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, globe icon will be loaded. #social: #GitHub: https://github.com/yourname || github #E-Mail: mailto:yourname@gmail.com || envelope #Google: https://plus.google.com/yourname || google #Twitter: https://twitter.com/yourname || twitter #FB Page: https://www.facebook.com/yourname || facebook #VK Group: https://vk.com/yourname || vk #StackOverflow: https://stackoverflow.com/yourname || stack-overflow #YouTube: https://youtube.com/yourname || youtube #Instagram: https://instagram.com/yourname || instagram #Skype: skype:yourname?call|chat || skype social_icons: enable: true icons_only: false transition: false # Blog rolls links_icon: link links_title: Links links_layout: block #links_layout: inline #links: #Title: http://example.com/ # Sidebar Avatar # in theme directory(source/images): /images/avatar.gif # in site directory(source/uploads): /uploads/avatar.gif avatar: /images/avatar.png # Table Of Contents in the Sidebar toc: enable: true # Automatically add list number to toc. number: true # If true, all words will placed on next lines if header width longer then sidebar width. wrap: false # Creative Commons 4.0 International License. # http://creativecommons.org/ # Available: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero #creative_commons: by-nc-sa #creative_commons: sidebar: # Sidebar Position, available value: left | right (only for Pisces | Gemini). position: left #position: right # Sidebar Display, available value (only for Muse | Mist): # - post expand on posts automatically. Default. # - always expand for all pages automatically # - hide expand only when click on the sidebar toggle icon. # - remove Totally remove sidebar including sidebar toggle. display: post #display: always #display: hide #display: remove # Sidebar offset from top menubar in pixels (only for Pisces | Gemini). offset: 12 # Back to top in sidebar (only for Pisces | Gemini). b2t: false # Scroll percent label in b2t button. scrollpercent: true # Enable sidebar on narrow view (only for Muse | Mist). onmobile: true # --------------------------------------------------------------- # Post Settings # --------------------------------------------------------------- # Automatically scroll page to section which is under <!-- more --> mark. scroll_to_more: true # Automatically saving scroll position on each post/page in cookies. save_scroll: false # Automatically excerpt description in homepage as preamble text. excerpt_description: true # Automatically Excerpt. Not recommend. # Please use <!-- more --> in the post to control excerpt accurately. auto_excerpt: enable: true length: 0 # Post meta display settings post_meta: item_text: true created_at: true updated_at: false categories: true # Post wordcount display settings # Dependencies: https://github.com/willin/hexo-wordcount post_wordcount: item_text: true wordcount: true min2read: true totalcount: false separated_meta: true # Wechat Subscriber #wechat_subscriber: #enabled: true #qcode: /path/to/your/wechatqcode ex. /uploads/wechat-qcode.jpg #description: ex. subscribe to my blog by scanning my public wechat account # Reward #reward_comment: Donate comment here #wechatpay: /images/wechatpay.jpg #alipay: /images/alipay.jpg #bitcoin: /images/bitcoin.png # Declare license on posts post_copyright: enable: false license: CC BY-NC-SA 3.0 license_url: https://creativecommons.org/licenses/by-nc-sa/3.0/ # --------------------------------------------------------------- # Misc Theme Settings # --------------------------------------------------------------- # Reduce padding / margin indents on devices with narrow width. mobile_layout_economy: false # Android Chrome header panel color ($black-deep). android_chrome_color: "#222" # Custom Logo. # !!Only available for Default Scheme currently. # Options: # enabled: [true/false] - Replace with specific image # image: url-of-image - Images's url custom_logo: enabled: true image: # Code Highlight theme # Available value: # normal | night | night eighties | night blue | night bright # https://github.com/chriskempson/tomorrow-theme highlight_theme: normal # --------------------------------------------------------------- # Font Settings # - Find fonts on Google Fonts (https://www.google.com/fonts) # - All fonts set here will have the following styles: # light, light italic, normal, normal italic, bold, bold italic # - Be aware that setting too much fonts will cause site running slowly # - Introduce in 5.0.1 # --------------------------------------------------------------- # CAUTION! Safari Version 10.1.2 bug: https://github.com/iissnan/hexo-theme-next/issues/1844 # To avoid space between header and sidebar in Pisces / Gemini themes recommended to use Web Safe fonts for `global` (and `logo`): # Arial | Tahoma | Helvetica | Times New Roman | Courier New | Verdana | Georgia | Palatino | Garamond | Comic Sans MS | Trebuchet MS # --------------------------------------------------------------- font: enable: true # Uri of fonts host. E.g. //fonts.googleapis.com (Default). host: # Font options: # `external: true` will load this font family from `host` above. # `family: Times New Roman`. Without any quotes. # `size: xx`. Use `px` as unit. # Global font settings used on <body> element. global: external: true family: Lato size: # Font settings for Headlines (h1, h2, h3, h4, h5, h6). # Fallback to `global` font settings. headings: external: true family: size: # Font settings for posts. # Fallback to `global` font settings. posts: external: true family: # Font settings for Logo. # Fallback to `global` font settings. logo: external: true family: size: # Font settings for <code> and code blocks. codes: external: true family: size: # --------------------------------------------------------------- # Third Party Services Settings # --------------------------------------------------------------- # MathJax Support mathjax: enable: false per_page: false cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML # Han Support docs: https://hanzi.pro/ han: false # Swiftype Search API Key #swiftype_key: # Baidu Analytics ID #baidu_analytics: # Duoshuo ShortName #duoshuo_shortname: # Disqus disqus: enable: false shortname: count: true # Hypercomments #hypercomments_id: # changyan changyan: enable: false appid: appkey: # Valine. # You can get your appid and appkey from https://leancloud.cn # more info please open https://valine.js.org valine: enable: true appid: appkey: notify: false # mail notifier , https://github.com/xCss/Valine/wiki verify: false # Verification code placeholder: 高冷的你说点什么吧( ´・・)ノ(._.`) avatar: mm # gravatar style guest_info: nick,mail,link # custom comment header pageSize: 10 # pagination size # Support for youyan comments system. # You can get your uid from http://www.uyan.cc #youyan_uid: your uid # Support for LiveRe comments system. # You can get your uid from https://livere.com/insight/myCode (General web site) #livere_uid: your uid # Gitment # Introduction: https://imsun.net/posts/gitment-introduction/ # You can get your Github ID from https://api.github.com/users/<Github username> gitment: enable: false mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway count: true # Show comments count in post meta area lazy: false # Comments lazy loading with a button cleanly: false # Hide 'Powered by ...' on footer, and more language: # Force language, or auto switch by theme github_user: # MUST HAVE, Your Github ID github_repo: # MUST HAVE, The repo you use to store Gitment comments client_id: # MUST HAVE, Github client id for the Gitment client_secret: # EITHER this or proxy_gateway, Github access secret token for the Gitment proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled # Baidu Share # Available value: # button | slide # Warning: Baidu Share does not support https. #baidushare: ## type: button # Share # This plugin is more useful in China, make sure you known how to use it. # And you can find the use guide at official webiste: http://www.jiathis.com/. # Warning: JiaThis does not support https. #jiathis: ##uid: Get this uid from http://www.jiathis.com/ #add_this_id: # Share duoshuo_share: true # NeedMoreShare2 # This plugin is a pure javascript sharing lib which is useful in China. # See: https://github.com/revir/need-more-share2 # Also see: https://github.com/DzmVasileusky/needShareButton # iconStyle: default | box # boxForm: horizontal | vertical # position: top / middle / bottom + Left / Center / Right networks: Weibo,Wechat,Douban,QQZone,Twitter,Linkedin,Mailto,Reddit, # Delicious,StumbleUpon,Pinterest,Facebook,GooglePlus,Slashdot, # Technorati,Posterous,Tumblr,GoogleBookmarks,Newsvine, # Evernote,Friendfeed,Vkontakte,Odnoklassniki,Mailru needmoreshare2: enable: false postbottom: enable: false options: iconStyle: box boxForm: horizontal position: bottomCenter networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook float: enable: false options: iconStyle: box boxForm: horizontal position: middleRight networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook # Google Webmaster tools verification setting # See: https://www.google.com/webmasters/ #google_site_verification: # Google Analytics #google_analytics: # Bing Webmaster tools verification setting # See: https://www.bing.com/webmaster/ #bing_site_verification: # Yandex Webmaster tools verification setting # See: https://webmaster.yandex.ru/ #yandex_site_verification: # CNZZ count #cnzz_siteid: # Application Insights # See https://azure.microsoft.com/en-us/services/application-insights/ # application_insights: # Make duoshuo show UA # user_id must NOT be null when admin_enable is true! # you can visit http://dev.duoshuo.com get duoshuo user id. duoshuo_info: ua_enable: true admin_enable: false user_id: 0 #admin_nickname: Author # Post widgets & FB/VK comments settings. # --------------------------------------------------------------- # Facebook SDK Support. # https://github.com/iissnan/hexo-theme-next/pull/410 facebook_sdk: enable: false app_id: #<app_id> fb_admin: #<user_id> like_button: #true webmaster: #true # Facebook comments plugin # This plugin depends on Facebook SDK. # If facebook_sdk.enable is false, Facebook comments plugin is unavailable. facebook_comments_plugin: enable: false num_of_posts: 10 # min posts num is 1 width: 100% # default width is 550px scheme: light # default scheme is light (light or dark) # VKontakte API Support. # To get your AppID visit https://vk.com/editapp?act=create vkontakte_api: enable: false app_id: #<app_id> like: true comments: true num_of_posts: 10 # Star rating support to each article. # To get your ID visit https://widgetpack.com rating: enable: false id: #<app_id> color: fc6423 # --------------------------------------------------------------- # Show number of visitors to each article. # You can visit https://leancloud.cn get AppID and AppKey. leancloud_visitors: enable: false app_id: #<app_id> app_key: #<app_key> # Another tool to show number of visitors to each article. # visit https://console.firebase.google.com/u/0/ to get apiKey and projectId # visit https://firebase.google.com/docs/firestore/ to get more information about firestore firestore: enable: false collection: articles #required, a string collection name to access firestore database apiKey: #required projectId: #required bluebird: false #enable this if you want to include bluebird 3.5.1(core version) Promise polyfill # Show PV/UV of the website/page with busuanzi. # Get more information on http://ibruce.info/2015/04/04/busuanzi/ busuanzi_count: # count values only if the other configs are false enable: true # custom uv span for the whole site site_uv: true site_uv_header: 本站访问人数 site_uv_footer: 人次 # custom pv span for the whole site site_pv: true site_pv_header: 本站访问量 site_pv_footer: 次 # custom pv span for one page only page_pv: true page_pv_header: 本文阅读量 page_pv_footer: 次 # Tencent analytics ID # tencent_analytics: # Tencent MTA ID # tencent_mta: # Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO baidu_push: false # Google Calendar # Share your recent schedule to others via calendar page # # API Documentation: # https://developers.google.com/google-apps/calendar/v3/reference/events/list calendar: enable: false calendar_id: <required> api_key: <required> orderBy: startTime offsetMax: 24 offsetMin: 4 timeZone: showDeleted: false singleEvents: true maxResults: 250 # Algolia Search algolia_search: enable: false hits: per_page: 10 labels: input_placeholder: Search for Posts hits_empty: "We didn't find any results for the search: ${query}" hits_stats: "${hits} results found in ${time} ms" # Local search # Dependencies: https://github.com/flashlab/hexo-generator-search local_search: enable: true # if auto, trigger search by changing input # if manual, trigger search by pressing enter key or search button trigger: auto # show top n results per article, show all results by setting to -1 top_n_per_article: 1 # --------------------------------------------------------------- # Tags Settings # --------------------------------------------------------------- # External URL with BASE64 encrypt & decrypt. # Usage: {% exturl text url "title" %} # Alias: {% extlink text url "title" %} exturl: false # Note tag (bs-callout). note: # Note tag style values: # - simple bs-callout old alert style. Default. # - modern bs-callout new (v2-v3) alert style. # - flat flat callout style with background, like on Mozilla or StackOverflow. # - disabled disable all CSS styles import of note tag. style: simple icons: false border_radius: 3 # Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6). # Offset also applied to label tag variables. This option can work with disabled note tag. light_bg_offset: 0 # Label tag. label: true # Tabs tag. tabs: enable: true transition: tabs: false labels: true border_radius: 0 #! --------------------------------------------------------------- #! DO NOT EDIT THE FOLLOWING SETTINGS #! UNLESS YOU KNOW WHAT YOU ARE DOING #! --------------------------------------------------------------- # Use velocity to animate everything. motion: enable: true async: false transition: # Transition variants: # fadeIn | fadeOut | flipXIn | flipXOut | flipYIn | flipYOut | flipBounceXIn | flipBounceXOut | flipBounceYIn | flipBounceYOut # swoopIn | swoopOut | whirlIn | whirlOut | shrinkIn | shrinkOut | expandIn | expandOut # bounceIn | bounceOut | bounceUpIn | bounceUpOut | bounceDownIn | bounceDownOut | bounceLeftIn | bounceLeftOut | bounceRightIn | bounceRightOut # slideUpIn | slideUpOut | slideDownIn | slideDownOut | slideLeftIn | slideLeftOut | slideRightIn | slideRightOut # slideUpBigIn | slideUpBigOut | slideDownBigIn | slideDownBigOut | slideLeftBigIn | slideLeftBigOut | slideRightBigIn | slideRightBigOut # perspectiveUpIn | perspectiveUpOut | perspectiveDownIn | perspectiveDownOut | perspectiveLeftIn | perspectiveLeftOut | perspectiveRightIn | perspectiveRightOut post_block: fadeIn post_header: slideDownIn post_body: slideDownIn coll_header: slideLeftIn # Only for Pisces | Gemini. sidebar: slideUpIn # Fancybox fancybox: true # Progress bar in the top during page loading. pace: true # Themes list: #pace-theme-big-counter #pace-theme-bounce #pace-theme-barber-shop #pace-theme-center-atom #pace-theme-center-circle #pace-theme-center-radar #pace-theme-center-simple #pace-theme-corner-indicator #pace-theme-fill-left #pace-theme-flash #pace-theme-loading-bar #pace-theme-mac-osx #pace-theme-minimal # For example # pace_theme: pace-theme-center-simple pace_theme: pace-theme-minimal # Canvas-nest canvas_nest: true # three_waves three_waves: false # canvas_lines canvas_lines: false # canvas_sphere canvas_sphere: false # Only fit scheme Pisces # Canvas-ribbon # size: The width of the ribbon. # alpha: The transparency of the ribbon. # zIndex: The display level of the ribbon. canvas_ribbon: enable: false size: 300 alpha: 0.6 zIndex: -1 # Script Vendors. # Set a CDN address for the vendor you want to customize. # For example # jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js # Be aware that you should use the same version as internal ones to avoid potential problems. # Please use the https protocol of CDN files when you enable https on your site. vendors: # Internal path prefix. Please do not edit it. _internal: lib # Internal version: 2.1.3 jquery: # Internal version: 2.1.5 # See: http://fancyapps.com/fancybox/ fancybox: fancybox_css: # Internal version: 1.0.6 # See: https://github.com/ftlabs/fastclick fastclick: # Internal version: 1.9.7 # See: https://github.com/tuupola/jquery_lazyload lazyload: # Internal version: 1.2.1 # See: http://VelocityJS.org velocity: # Internal version: 1.2.1 # See: http://VelocityJS.org velocity_ui: # Internal version: 0.7.9 # See: https://faisalman.github.io/ua-parser-js/ ua_parser: # Internal version: 4.6.2 # See: http://fontawesome.io/ fontawesome: # Internal version: 1 # https://www.algolia.com algolia_instant_js: algolia_instant_css: # Internal version: 1.0.2 # See: https://github.com/HubSpot/pace # Or use direct links below: # pace: //cdn.bootcss.com/pace/1.0.2/pace.min.js # pace_css: //cdn.bootcss.com/pace/1.0.2/themes/blue/pace-theme-flash.min.css pace: pace_css: # Internal version: 1.0.0 # https://github.com/hustcc/canvas-nest.js canvas_nest: # three three: # three_waves # https://github.com/jjandxa/three_waves three_waves: # three_waves # https://github.com/jjandxa/canvas_lines canvas_lines: # three_waves # https://github.com/jjandxa/canvas_sphere canvas_sphere: # Internal version: 1.0.0 # https://github.com/zproo/canvas-ribbon canvas_ribbon: # Internal version: 3.3.0 # https://github.com/ethantw/Han han: # needMoreShare2 # https://github.com/revir/need-more-share2 needMoreShare2: # Assets css: css js: js images: images # Online contact daovoice: true daovoice_app_id: # 这里填你刚才获得的 app_id # Theme version live2d: enable: false model: z16 bottom: -30 version: 5.1.4 ``` 已经折腾了两天了,就差回档了,感觉回档也没有用,小白在此感谢各位大佬了 然后我修改背景图片修改的是Blog\themes\next\source\css\_custom\custom.styl文件 ``` // Custom styles. // 主页文章添加阴影效果 .post { margin-top: 60px; margin-bottom: 60px; padding: 25px; -webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5); -moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5); } .site-meta { background: $orange; //天空的颜色,和我的眼镜是绝配 } // 鼠标样式 * { cursor: url(""),auto!important } :active { cursor: url(""),auto!important } // Custom styles. body { background-image: url(/images/background.jpg); background-attachment: fixed; background-repeat: no-repeat; background-size: cover; //改变背景色和透明度 .main-inner { padding: 25px; opacity: 0.85; border-radius: 10px; right: 0 !important; top: 0 !important; bottom: 0 !important; } } body .main { margin-bottom: 0px; } ```
golang中使用walk展示二维码图片
![图片说明](https://img-ask.csdn.net/upload/201912/17/1576568318_853567.png) **我的需求是点击生成二维码 在下面展示二维码。 **部分代码如下,初学golang 请教各位大佬** ``` type MyMainWindow struct { *walk.MainWindow hcName *walk.Label userIdName *walk.Label startTime *walk.DateEdit endTime *walk.DateEdit hc, userId *walk.LineEdit imageView *walk.ImageView imageComposite *walk.Composite qrCount int } func (mw *MyMainWindow) ShowQRcode() { if mw.imageComposite != nil { mw.imageComposite.Dispose() } mw.getQRcode() widgets := []Widget{} for i:=1;i<=mw.qrCount;i++ { bitmap, err := walk.NewBitmapFromFile("qrcode/qr_"+strconv.Itoa(i)+".jpg") log.Println("qrcode/qr_"+strconv.Itoa(i)+".jpg") if err != nil { walk.MsgBox(mw, mw.Title(), err.Error(), walk.MsgBoxIconError) break } widget := ImageView{ Image: bitmap, Mode: ImageViewModeZoom, } widgets = append(widgets, widget) } imageComposite := Composite{ AssignTo: &mw.imageComposite, Layout: HBox{}, Children: widgets, } if err := imageComposite.Create(NewBuilder(mw)); err != nil { log.Println(err) } } func openWindow(){ mw := &MyMainWindow{} _, _ = MainWindow{ Title: "梅清打印量上报", MinSize: Size{600, 400}, Size:Size{1200,800}, Layout: VBox{MarginsZero: true}, Children: []Widget{ Composite{ Layout:HBox{}, Children: []Widget{ Label{AssignTo: &mw.hcName,Text: "医院编号"}, LineEdit{AssignTo: &mw.hc,}, Label{AssignTo: &mw.userIdName,Text: "工程师编号"}, LineEdit{AssignTo: &mw.userId,}, DateEdit{AssignTo:&mw.startTime, Format:"yyyy-MM-dd",}, DateEdit{AssignTo:&mw.endTime, Format:"yyyy-MM-dd",}, PushButton{ Text: "生成二维码", OnClicked: func(){ if len(mw.hc.Text()) == 0 { walk.MsgBox(mw, mw.Title(), "请输入医院编号", walk.MsgBoxIconError) log.Println("请输入医院编号") return } if len(mw.userId.Text()) == 0 { walk.MsgBox(mw, mw.Title(), "请输入工程师编号", walk.MsgBoxIconError) log.Println("请输入工程师编号") return } mw.ShowQRcode() }, }, }, }, Composite{ AssignTo:&mw.imageComposite, Layout:HBox{}, }, }, }.Run() } ``` 这是报错信息 ![图片说明](https://img-ask.csdn.net/upload/201912/24/1577177949_302636.png)
遇到了"无法解析的外部符号 _mainCRTStartup", 但是第二次编译就好了
最近突然遇到了很奇怪的问题, 开发环境是VS2019, Qt5.9.6 经常性的在重新编译的时候出现“LINK : error LNK2001: 无法解析的外部符号 \_mainCRTStartup” 可是一旦再次编译(不使用重新编译), 该错误就会消失了。 不仅仅是可执行工程, dll也会遇到“LINK : error LNK2001: 无法解析的外部符号 \_\_DllMainCRTStartup@12” 同样, 只要不是重新编译, 选择再次编译问题就会消失 百思不得其解,虽然不影响手动编译,但是自动化编译完全就做不了了。希望高手能够解决。 链接器的所有选项如下: dll的 ``` /OUT:"D:\GIT\xxxx\bin\BasicDataManager.dll" /MANIFEST /NXCOMPAT /PDB:"D:\GIT\xxxx\bin\BasicDataManager.pdb" /DYNAMICBASE "D:\Qt\Qt\5.9.6\msvc2015\lib\qtmain.lib" "shell32.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Gui.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Sql.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Core.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /IMPLIB:"D:\GIT\xxxx\lib\BasicDataManager.lib" /DEBUG /DLL /MACHINE:X86 /SAFESEH /PGD:"D:\GIT\xxxx\bin\BasicDataManager.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\BasicDataManager.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"D:\Qt\Qt\5.9.6\msvc2015\lib" /LIBPATH:"C:\opensslx86\lib" /LIBPATH:"C:\Utils\my_sql\my_sqlx86\lib" /LIBPATH:"C:\Utils\postgresqlx86\pgsql\lib" /TLBID:1 ``` exe的 ``` /OUT:"D:\GIT\xxxx\bin\BasicDataManagerUI.exe" /MANIFEST /NXCOMPAT /PDB:"D:\GIT\xxxx\bin\BasicDataManagerUI.pdb" /DYNAMICBASE "BasicDataManager.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\qtmain.lib" "shell32.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Charts.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Widgets.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Gui.lib" "D:\Qt\Qt\5.9.6\msvc2015\lib\Qt5Core.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X86 /SAFESEH /PGD:"D:\GIT\xxxx\bin\BasicDataManagerUI.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\BasicDataManagerUI.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"D:\Qt\Qt\5.9.6\msvc2015\lib" /LIBPATH:"D:\GIT\xxxx\lib" /LIBPATH:"C:\opensslx86\lib" /LIBPATH:"C:\Utils\my_sql\my_sqlx86\lib" /LIBPATH:"C:\Utils\postgresqlx86\pgsql\lib" /TLBID:1 ```
Python selenium 中如何使用 JavaScript 直接选择下拉框的某个选项呢?
有这样一段代码下拉框,选择分类: ``` <div class="widgets-selects direction-horizontal"> <div class="widgets-selects_container">选择分类<i class=""></i></div> <div class="widgets-selects_select_container" style="display: none;"> <a href="javascript:;" class="">社会</a> <a href="javascript:;" class="">国内</a> <a href="javascript:;" class="">国际</a> <a href="javascript:;" class="">体育</a> <a href="javascript:;" class="">科技</a> <a href="javascript:;" class="">娱乐</a> <a href="javascript:;" class="">军事</a> </div> </div> </div> ``` 选择了第一个分类“社会”后,代码变成了这样: ``` <div class="widgets-selects direction-horizontal"> <div class="widgets-selects_container" data-spm-anchor-id="a2s0i.db_video_write.content.i2.4a603caaqY4ZC8">社会<i class=""></i></div> <div class="widgets-selects_select_container" style="display: none;"> <a href="javascript:;" class="selected" data-spm-anchor-id="a2s0i.db_video_write.content.6">社会</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.7">国内</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.8">国际</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.9">体育</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.10">科技</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.11">娱乐</a> <a href="javascript:;" class="" data-spm-anchor-id="a2s0i.db_video_write.content.12">军事</a> </div> </div> </div> ``` 之前我用python selenium的操作是用click()命令点击一下“选择分类”,弹出下拉框,再在其中click()点击选择某个分类。 但我很希望能在python中用driver.execute_script()命令直接调用JavaScript实现选择某分类,可惜弄了半天也没琢磨出来,望大神来帮帮我呀,感激不尽。
在arm上利用Qt采集视频图像,能够保存采集的视频图像
我使用的是usb免驱摄像头,现在已经实现实时显示图像,并能够拍照保存,但无法实现保存视频。 以下是本程序的相关代码 # main.cpp ``` #include "camera.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); camera w; w.show(); return a.exec(); } ``` # camera.cpp ``` #include "camera.h" #include "ui_camera.h" #include <QDate> #include <QTime> void yuv422to420p(char *yuv422buf, char *yuv420pbuf, int width, int height) { char *src, *dest, *dest2; int i, j; src = yuv422buf; dest = yuv420pbuf; for (i = 0; i < width * height * 2; i++) { if (i % 2 != 0) { continue; } *dest++ = *(src + i); } src = yuv422buf; dest = yuv420pbuf + width * height; dest2 = dest + (width * height) / 4; for (i = 0; i < height; i += 2) { for (j = 1; j < width * 2; j += 4) { *dest++ = *(src + i * width * 2 + j); *dest2++ = *(src + i * width * 2 + j + 2); } } } /* yuv格式转换为rgb格式的算法处理函数 */ int convert_yuv_to_rgb_pixel(int y, int u, int v) { unsigned int pixel32 = 0; unsigned char *pixel = (unsigned char *)&pixel32; int r, g, b; r = y + (1.370705 * (v-128)); g = y - (0.698001 * (v-128)) - (0.337633 * (u-128)); b = y + (1.732446 * (u-128)); if(r > 255) r = 255; if(g > 255) g = 255; if(b > 255) b = 255; if(r < 0) r = 0; if(g < 0) g = 0; if(b < 0) b = 0; pixel[0] = r ; pixel[1] = g ; pixel[2] = b ; return pixel32; } /* yuv格式转换为rgb格式 */ int convert_yuv_to_rgb_buffer(unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height) { unsigned int in, out = 0; unsigned int pixel_16; unsigned char pixel_24[3]; unsigned int pixel32; int y0, u, y1, v; for(in = 0; in < width * height * 2; in += 4) { pixel_16 = yuv[in + 3] << 24 | yuv[in + 2] << 16 | yuv[in + 1] << 8 | yuv[in + 0]; y0 = (pixel_16 & 0x000000ff); u = (pixel_16 & 0x0000ff00) >> 8; y1 = (pixel_16 & 0x00ff0000) >> 16; v = (pixel_16 & 0xff000000) >> 24; pixel32 = convert_yuv_to_rgb_pixel(y0, u, v); pixel_24[0] = (pixel32 & 0x000000ff); pixel_24[1] = (pixel32 & 0x0000ff00) >> 8; pixel_24[2] = (pixel32 & 0x00ff0000) >> 16; rgb[out++] = pixel_24[0]; rgb[out++] = pixel_24[1]; rgb[out++] = pixel_24[2]; pixel32 = convert_yuv_to_rgb_pixel(y1, u, v); pixel_24[0] = (pixel32 & 0x000000ff); pixel_24[1] = (pixel32 & 0x0000ff00) >> 8; pixel_24[2] = (pixel32 & 0x00ff0000) >> 16; rgb[out++] = pixel_24[0]; rgb[out++] = pixel_24[1]; rgb[out++] = pixel_24[2]; } return 0; } int camera::camera_init() { int ret=0,i=0,count=0; struct v4l2_capability cap; //视频设备的功能,对应命令VIDIOC_QUERYCAP struct v4l2_fmtdesc fmtdesc; //视频格式描述符类型 struct v4l2_format format; //帧的格式,如宽度,高度等,对应命令VIDIOC_G_FMT、VIDIOC_S_FMT等 struct v4l2_requestbuffers reqbuf; //向驱动申请帧缓冲请求,包含申请的个数,对应命令VIDIOC_REQBUFS struct v4l2_buffer buf; //驱动中的一帧图像缓存,对应命令VIDIOC_QUERYBUF fmtdesc.index = 0; fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; //传输流类型 ret = ::ioctl(fd, VIDIOC_G_FMT, &format); //'VIDIOC_G_FMT'——读取当前驱动的视频捕获格式 if(ret < 0){ perror("VIDIOC_G_FMT"); exit(1); } printf("width:%d\n", format.fmt.pix.width); printf("height:%d\n", format.fmt.pix.height); printf("pixelformat:%x\n", format.fmt.pix.pixelformat); printf("field:%x\n", format.fmt.pix.field); printf("bytesperline:%d\n", format.fmt.pix.bytesperline); printf("sizeimage:%d\n", format.fmt.pix.sizeimage); printf("colorspace:%d\n", format.fmt.pix.colorspace); format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; format.fmt.pix.width = 640; format.fmt.pix.height = 480; format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV; ret = ::ioctl(fd, VIDIOC_S_FMT, &format); if(ret < 0){ fprintf(stderr, "Not support jepg"); perror("VIDIOC_S_FMT"); exit(1); } reqbuf.count = 3; reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; reqbuf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_REQBUFS, &reqbuf); if(ret < 0){ perror("VIDIOC_REQBUFS"); exit(1); } bufinf = (struct bufinfor *)calloc(reqbuf.count, sizeof(struct bufinfor)); if(!bufinf){ perror("calloc"); exit(1); } for(count = 0; count < reqbuf.count; count++){ buf.index = count; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_QUERYBUF, &buf); if(ret < 0){ perror("VIDIOC_REQBUFS"); exit(1); } bufinf[buf.index].length = buf.length; bufinf[buf.index].start = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset); if(!(bufinf[buf.index].start)){ perror("mmap"); exit(1); } } for(i = 0; i < reqbuf.count; i++){ buf.index = i; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ::ioctl(fd, VIDIOC_QBUF, &buf); if(ret < 0){ perror("VIDIOC_QBUF"); exit(1); } } enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; ret = ::ioctl(fd, VIDIOC_STREAMON, &type); if(ret < 0){ perror("VIDIOC_STREAMON"); exit(1); } return 0; } camera::camera(QWidget *parent) : QMainWindow(parent), ui(new Ui::camera) { char devname[32]; int i=0; int ret; struct v4l2_capability cap; ui->setupUi(this); while(i < 100) { sprintf(devname,"/dev/video%d",i++); fd = ::open(devname,O_RDWR); if(fd < 0) { continue; } ui->comboBox->addItem(QWidget::tr(devname)); ::close(fd); } } camera::~camera() { free(bufinf); ::close(fd); delete ui; } void camera::moveEvent(QMoveEvent *) { this->move(QPoint(0,0)); } void camera::resizeEvent(QResizeEvent *) { this->showMaximized(); } void camera::on_pushButton_2_clicked() { take_photo(); } static bool take = 0; void camera::show_() { int ret; unsigned char *rgb=new unsigned char [640 * 480 *3]; struct v4l2_buffer buf; fd_set readset; FD_ZERO(&readset); FD_SET(fd, &readset); ret = select(fd + 1, &readset, NULL, NULL, NULL); if(ret < 0){ perror("select"); exit(1); } buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; ret = ioctl(fd, VIDIOC_DQBUF, &buf); if(ret < 0){ perror("VIDIOC_DQBUF"); exit(1); } convert_yuv_to_rgb_buffer((unsigned char *)bufinf[buf.index].start,rgb,640,480); ret = ioctl(fd, VIDIOC_QBUF, &buf); if(ret < 0){ perror("VIDIOC_QBUF"); exit(1); } QImage *mage = new QImage(rgb,640,480,QImage::Format_RGB888); if (take == 1) { mage->save(tr("%1.jpg").arg("/mnt/Photo/Photo_2019.04.15/IMG" + QDate::currentDate().toString("yyyyMMdd") + QTime::currentTime().toString("hhmmss")),"JPG"); // mage->save(tr("%1.jpg").arg("/home/root/Photo/IMG" + QDate::currentDate().toString("yyyyMMdd") + QTime::currentTime().toString("hhmmss")),"JPG"); take = 0; } QImage resultimg=mage->scaled(ui->label->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation); ui->label->setPixmap(QPixmap::fromImage(resultimg)); delete mage; delete rgb; } void camera::take_photo() { take = 1; } void camera::on_comboBox_activated(const QString &arg1) { QString text=ui->comboBox->currentText(); QByteArray devtext=text.toLatin1(); char *devname=devtext.data(); int ret; struct v4l2_capability cap; fd = ::open(devname, O_RDWR); if(fd < 0) { perror("open error"); } camera::camera_init(); QTimer *timer; timer=new QTimer(); timer->setInterval(10); connect(timer,SIGNAL(timeout()),this,SLOT(show_())); timer->start(10); camera_flag=1; } void camera::on_pushButton_clicked() { close(); } ``` # camera.h ``` #ifndef CAMERA_H #define CAMERA_H #include <QMainWindow> #include <QTimer> #include <QImage> #include <QPixmap> #include <QDebug> #include <QStringList> #include <QByteArray> #include <QComboBox> extern "C"{ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <fcntl.h> #include <sys/ioctl.h> #include <string.h> #include <time.h> #include <sys/select.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <jpeglib.h> #include <linux/videodev2.h> } namespace Ui { class camera; } struct bufinfor{ void *start; unsigned int length; }; class camera : public QMainWindow { Q_OBJECT public: explicit camera(QWidget *parent = 0); ~camera(); protected: void moveEvent(QMoveEvent *); void resizeEvent(QResizeEvent *); private slots: int camera_init(void); void on_pushButton_2_clicked(); void show_(); void take_photo(); void on_comboBox_activated(const QString &arg1); void on_pushButton_clicked(); private: Ui::camera *ui; int fd; int camera_flag; struct bufinfor *bufinf; }; #endif // CAMERA_H ``` usbcamera.pro ``` #------------------------------------------------- # # Project created by QtCreator 2019-08-02T09:08:26 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = usbcamera TEMPLATE = app LIBS += -L. -ljpeg SOURCES += main.cpp\ camera.cpp HEADERS += camera.h FORMS += camera.ui ``` 程序界面如下 ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962170_711562.jpg) ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565962188_747692.jpg) 求助大神该怎么保存拍摄的视频 非常感谢
eclipse开发c/c++,调出反汇编窗口,报错?
![图片说明](https://img-ask.csdn.net/upload/201910/10/1570693927_497484.png) 在对一个老师所给的程序进行调试的时候,切换到disassembly窗口,调出如上图所示的错误,这是一个系统级编程实验的源代码,解四个密钥,之前调试调那个窗口都行,现在新建一个helloworld项目也不行了,也是同样的报错,求大佬解决。 弄清楚了一点,有汇编的地址,只是颜色没出来,显示的问题,如下图,求解决。 ![图片说明](https://img-ask.csdn.net/upload/201910/11/1570724901_583499.png)以下是日志信息: !ENTRY org.eclipse.ui 4 0 2019-10-11 14:22:10.405 !MESSAGE Unhandled event loop exception !STACK 0 org.eclipse.core.runtime.AssertionFailedException: assertion failed: at org.eclipse.core.runtime.Assert.isTrue(Assert.java:113) at org.eclipse.core.runtime.Assert.isTrue(Assert.java:99) at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.DisassemblyRulerColumn.getBaselineBias(DisassemblyRulerColumn.java:948) at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.DisassemblyRulerColumn.doPaint(DisassemblyRulerColumn.java:776) at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.DisassemblyRulerColumn.doubleBufferPaint(DisassemblyRulerColumn.java:710) at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.DisassemblyRulerColumn.redraw(DisassemblyRulerColumn.java:1006) at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.DisassemblyRulerColumn$1.run(DisassemblyRulerColumn.java:402) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4857) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4409) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:633) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597) at org.eclipse.equinox.launcher.Main.run(Main.java:1468) at org.eclipse.equinox.launcher.Main.main(Main.java:1441)
win10下编译hadoop eclipse plugin报错
win10下编译hadoop eclipse plugin报错,请求各位大佬帮忙看一下 ``` D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin>ant jar -Dversion=2.8.3 -Declipse.home=C:\Users\Daybr\eclipse\java-neon\eclipse -Dhadoop.home=D:\hadoop-2.8.3\hadoop-2.8.3 Buildfile: D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\build.xml check-contrib: init: [echo] contrib: eclipse-plugin init-contrib: ivy-probe-antlib: ivy-init-antlib: ivy-init: [ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ :: [ivy:configure] :: loading settings :: file = D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\ivy\ivysettings.xml ivy-resolve-common: ivy-retrieve-common: [ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead [ivy:cachepath] :: loading settings :: file = D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\ivy\ivysettings.xml compile: [echo] contrib: eclipse-plugin [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\build.xml:76: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 45 source files to D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\build\contrib\eclipse-plugin\classes [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\Activator.java:22: 错误: 程序包org.eclipse.ui.plugin不存在 [javac] import org.eclipse.ui.plugin.AbstractUIPlugin; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\Activator.java:28: 错误: 找不到符号 [javac] public class Activator extends AbstractUIPlugin { [javac] ^ [javac] 符号: 类 AbstractUIPlugin [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ErrorMessageDialog.java:22: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Display; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:21: 错误: 程序包org.eclipse.debug.ui不存在 [javac] import org.eclipse.debug.ui.IDebugUIConstants; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:22: 错误: 程序包org.eclipse.jdt.ui不存在 [javac] import org.eclipse.jdt.ui.JavaUI; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:23: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.IFolderLayout; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:24: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.IPageLayout; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:25: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.IPerspectiveFactory; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:26: 错误: 程序包org.eclipse.ui.console不存在 [javac] import org.eclipse.ui.console.IConsoleConstants; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:34: 错误: 找不到符号 [javac] public class HadoopPerspectiveFactory implements IPerspectiveFactory { [javac] ^ [javac] 符号: 类 IPerspectiveFactory [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\HadoopPerspectiveFactory.java:36: 错误: 找不到符号 [javac] public void createInitialLayout(IPageLayout layout) { [javac] ^ [javac] 符号: 类 IPageLayout [javac] 位置: 类 HadoopPerspectiveFactory [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:25: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.FileLocator; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:26: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.Path; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:28: 错误: 程序包org.eclipse.swt.graphics不存在 [javac] import org.eclipse.swt.graphics.Image; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:29: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.ISharedImages; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:30: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.PlatformUI; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:31: 错误: 程序包org.eclipse.ui.plugin不存在 [javac] import org.eclipse.ui.plugin.AbstractUIPlugin; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:46: 错误: 找不到符号 [javac] private ISharedImages sharedImages = [javac] ^ [javac] 符号: 类 ISharedImages [javac] 位置: 类 ImageLibrary [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:70: 错误: 找不到符号 [javac] public static Image getImage(String name) { [javac] ^ [javac] 符号: 类 Image [javac] 位置: 类 ImageLibrary [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:95: 错误: 找不到符号 [javac] private Map<String, Image> imageMap = new HashMap<String, Image>(); [javac] ^ [javac] 符号: 类 Image [javac] 位置: 类 ImageLibrary [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\ImageLibrary.java:154: 错误: 找不到符号 [javac] private Image getImageByName(String name) { [javac] ^ [javac] 符号: 类 Image [javac] 位置: 类 ImageLibrary [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:29: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.IProject; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:30: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.IProjectNature; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:31: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.CoreException; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:32: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.NullProgressMonitor; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:33: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.Path; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:34: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.QualifiedName; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:35: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.IClasspathEntry; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:36: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.IJavaProject; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:37: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.JavaCore; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:44: 错误: 找不到符号 [javac] public class MapReduceNature implements IProjectNature { [javac] ^ [javac] 符号: 类 IProjectNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:48: 错误: 找不到符号 [javac] private IProject project; [javac] ^ [javac] 符号: 类 IProject [javac] 位置: 类 MapReduceNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:56: 错误: 找不到符号 [javac] public void configure() throws CoreException { [javac] ^ [javac] 符号: 类 CoreException [javac] 位置: 类 MapReduceNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:130: 错误: 找不到符号 [javac] public void deconfigure() throws CoreException { [javac] ^ [javac] 符号: 类 CoreException [javac] 位置: 类 MapReduceNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:137: 错误: 找不到符号 [javac] public IProject getProject() { [javac] ^ [javac] 符号: 类 IProject [javac] 位置: 类 MapReduceNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\MapReduceNature.java:145: 错误: 找不到符号 [javac] public void setProject(IProject project) { [javac] ^ [javac] 符号: 类 IProject [javac] 位置: 类 MapReduceNature [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:21: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.IFile; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:22: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.CoreException; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:23: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.IProgressMonitor; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:24: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.IJavaElement; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:25: 错误: 程序包org.eclipse.jdt.internal.ui.wizards不存在 [javac] import org.eclipse.jdt.internal.ui.wizards.NewElementWizard; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:28: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.INewWizard; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:29: 错误: 程序包org.eclipse.ui不存在 [javac] import org.eclipse.ui.IWorkbench; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:36: 错误: 找不到符号 [javac] public class NewDriverWizard extends NewElementWizard implements INewWizard, [javac] ^ [javac] 符号: 类 NewElementWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:36: 错误: 找不到符号 [javac] public class NewDriverWizard extends NewElementWizard implements INewWizard, [javac] ^ [javac] 符号: 类 INewWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:23: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.CoreException; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:24: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.FileLocator; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:25: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.IProgressMonitor; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:26: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.IStatus; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:27: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.Path; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:28: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.IType; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:29: 错误: 程序包org.eclipse.jdt.core不存在 [javac] import org.eclipse.jdt.core.JavaModelException; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:30: 错误: 程序包org.eclipse.jdt.core.search不存在 [javac] import org.eclipse.jdt.core.search.SearchEngine; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:31: 错误: 程序包org.eclipse.jdt.ui不存在 [javac] import org.eclipse.jdt.ui.IJavaElementSearchConstants; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:32: 错误: 程序包org.eclipse.jdt.ui不存在 [javac] import org.eclipse.jdt.ui.JavaUI; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:33: 错误: 程序包org.eclipse.jdt.ui.wizards不存在 [javac] import org.eclipse.jdt.ui.wizards.NewTypeWizardPage; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:38: 错误: 程序包org.eclipse.swt不存在 [javac] import org.eclipse.swt.SWT; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:39: 错误: 程序包org.eclipse.swt.layout不存在 [javac] import org.eclipse.swt.layout.GridData; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:40: 错误: 程序包org.eclipse.swt.layout不存在 [javac] import org.eclipse.swt.layout.GridLayout; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:41: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Button; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:42: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Composite; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:43: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Event; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:44: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Label; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:45: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Listener; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:46: 错误: 程序包org.eclipse.swt.widgets不存在 [javac] import org.eclipse.swt.widgets.Text; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:47: 错误: 程序包org.eclipse.ui.dialogs不存在 [javac] import org.eclipse.ui.dialogs.SelectionDialog; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:54: 错误: 找不到符号 [javac] public class NewDriverWizardPage extends NewTypeWizardPage { [javac] ^ [javac] 符号: 类 NewTypeWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:43: 错误: 找不到符号 [javac] public void run(IProgressMonitor monitor) { [javac] ^ [javac] 符号: 类 IProgressMonitor [javac] 位置: 类 NewDriverWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:60: 错误: 找不到符号 [javac] public void init(IWorkbench workbench, IStructuredSelection selection) { [javac] ^ [javac] 符号: 类 IWorkbench [javac] 位置: 类 NewDriverWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:90: 错误: 找不到符号 [javac] protected void finishPage(IProgressMonitor monitor) [javac] ^ [javac] 符号: 类 IProgressMonitor [javac] 位置: 类 NewDriverWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:91: 错误: 找不到符号 [javac] throws InterruptedException, CoreException { [javac] ^ [javac] 符号: 类 CoreException [javac] 位置: 类 NewDriverWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizard.java:96: 错误: 找不到符号 [javac] public IJavaElement getCreatedElement() { [javac] ^ [javac] 符号: 类 IJavaElement [javac] 位置: 类 NewDriverWizard [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:55: 错误: 找不到符号 [javac] private Button isCreateMapMethod; [javac] ^ [javac] 符号: 类 Button [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:57: 错误: 找不到符号 [javac] private Text reducerText; [javac] ^ [javac] 符号: 类 Text [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:59: 错误: 找不到符号 [javac] private Text mapperText; [javac] ^ [javac] 符号: 类 Text [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:85: 错误: 找不到符号 [javac] public void createType(IProgressMonitor monitor) throws CoreException, [javac] ^ [javac] 符号: 类 IProgressMonitor [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:85: 错误: 找不到符号 [javac] public void createType(IProgressMonitor monitor) throws CoreException, [javac] ^ [javac] 符号: 类 CoreException [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:91: 错误: 找不到符号 [javac] protected void createTypeMembers(final IType newType, ImportsManager imports, [javac] ^ [javac] 符号: 类 IType [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:91: 错误: 找不到符号 [javac] protected void createTypeMembers(final IType newType, ImportsManager imports, [javac] ^ [javac] 符号: 类 ImportsManager [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:92: 错误: 找不到符号 [javac] final IProgressMonitor monitor) throws CoreException { [javac] ^ [javac] 符号: 类 IProgressMonitor [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:92: 错误: 找不到符号 [javac] final IProgressMonitor monitor) throws CoreException { [javac] ^ [javac] 符号: 类 CoreException [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:145: 错误: 找不到符号 [javac] public void createControl(Composite parent) { [javac] ^ [javac] 符号: 类 Composite [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:199: 错误: 找不到符号 [javac] private void createMapperControls(Composite composite) { [javac] ^ [javac] 符号: 类 Composite [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:204: 错误: 找不到符号 [javac] private void createReducerControls(Composite composite) { [javac] ^ [javac] 符号: 类 Composite [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:209: 错误: 找不到符号 [javac] private Text createBrowseClassControl(final Composite composite, [javac] ^ [javac] 符号: 类 Composite [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewDriverWizardPage.java:209: 错误: 找不到符号 [javac] private Text createBrowseClassControl(final Composite composite, [javac] ^ [javac] 符号: 类 Text [javac] 位置: 类 NewDriverWizardPage [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:29: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.IProject; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:30: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.IProjectDescription; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:31: 错误: 程序包org.eclipse.core.resources不存在 [javac] import org.eclipse.core.resources.ResourcesPlugin; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:32: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.CoreException; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:33: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.IConfigurationElement; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:34: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.IExecutableExtension; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:36: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.NullProgressMonitor; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:37: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.Path; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:38: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.QualifiedName; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:39: 错误: 程序包org.eclipse.core.runtime不存在 [javac] import org.eclipse.core.runtime.SubProgressMonitor; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:40: 错误: 程序包org.eclipse.jdt.ui.wizards不存在 [javac] import org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPage; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:49: 错误: 程序包org.eclipse.swt不存在 [javac] import org.eclipse.swt.SWT; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:50: 错误: 程序包org.eclipse.swt.events不存在 [javac] import org.eclipse.swt.events.SelectionEvent; [javac] ^ [javac] D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\NewMapReduceProjectWizard.java:51: 错误: 程序包org.eclipse.swt.events不存在 [javac] import org.eclipse.swt.events.SelectionListener; [javac] ^ [javac] 注: D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\dfs\DFSFolder.java使用或覆盖了已过时的 API。 [javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 [javac] 注: D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\src\java\org\apache\hadoop\eclipse\actions\DFSActionImpl.java使用了未经检查或不安全的操作。 [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 [javac] 注: 某些消息已经过简化; 请使用 -Xdiags:verbose 重新编译以获得完整输出 [javac] 100 个错误 BUILD FAILED D:\hadoop2x-eclipse-plugin-master-master\hadoop2x-eclipse-plugin-master-master\src\contrib\eclipse-plugin\build.xml:76: Compile failed; see the compiler error output for details. Total time: 4 seconds ```
为什么PyQt5 Qss中QPushButton按钮background-color效果无效?
PyQt5 Qss中QPushButton按钮background-color效果无效 [QT样式表设置背景色 background-color无效的原因](https://blog.csdn.net/qq_31073871/article/details/79965015 "")的方法不能解决问题 ```python import sys from PyQt5.QtWidgets import QWidget,QPushButton,QLineEdit,QTextEdit,QHBoxLayout,QVBoxLayout,QLabel,QListView,QFrame,QApplication from PyQt5.QtCore import QEvent,Qt,QStringListModel from PyQt5.QtGui import QIcon,QCursor,QColor import GetPoetry import style class Reader(QWidget): mystyle = style.UiSyle().style def __init__(self): super().__init__() self.config_index=self.readconfig() self.index=self.config_index self.ReaderUI() self.maxindex=GetPoetry.GetPoetryDetail.getMaxIndex(GetPoetry) #self.mystyle=style.UiSyle() def ReaderUI(self): '''setup reader's UI''' # leftFrame self.leftFrame=QFrame() self.leftFrame.setMinimumWidth(200) ## add Frame self.readerFrame = QFrame() self.setObjectName("readerFrame") self.pageButtonFrame = QFrame() self.setObjectName("pageButtonFrame") ###Reader frame ##### add readerFrame widgets self.titleEdit=QLineEdit("title") self.titleEdit.setObjectName("titleEdit") self.authorEdit=QLineEdit("author") self.dynastyEdit=QLineEdit("dynasty") self.contentEidt=QTextEdit("content") self.authFrame=QFrame() #### readerFrame widgets Layout self.readerLayout = QVBoxLayout() ##### authFrame Layout ##### self.authFrameLayout = QHBoxLayout() self.authFrameLayout.addStretch(2) self.authFrameLayout.addWidget(self.authorEdit,1) self.authFrameLayout.addWidget(self.dynastyEdit,1) self.authFrameLayout.addStretch(2) self.authFrame.setLayout(self.authFrameLayout) ##### authFrame Layout ##### self.readerLayout.addWidget(self.titleEdit) self.readerLayout.addWidget(self.authFrame) self.readerLayout.addWidget(self.contentEidt) self.readerFrame.setLayout(self.readerLayout) ### pageButtonFrame #### add pageButtonFrame widgets self.nextButton=QPushButton("下一篇") self.nextButton.setObjectName("nextButton") self.previewButton=QPushButton("上一篇") self.previewButton.setObjectName("previewButton") self.readIndexEdit=QLineEdit("readIndexEdit") #### pageButtonFrame widgets Layout self.pageButtonLayout=QHBoxLayout() self.pageButtonLayout.addWidget(self.previewButton) self.pageButtonLayout.addStretch(1) self.pageButtonLayout.addWidget(self.readIndexEdit) self.pageButtonLayout.addStretch(1) self.pageButtonLayout.addWidget(self.nextButton) self.pageButtonFrame.setLayout(self.pageButtonLayout) ## leftFrame Layout self.leftFrameLayout=QVBoxLayout() self.leftFrameLayout.addWidget(self.readerFrame) self.leftFrameLayout.addWidget(self.pageButtonFrame) self.leftFrame.setLayout(self.leftFrameLayout) # right listView self.titleListView=QListView() self.listModel=QStringListModel() #self.title_list=[str(n) for n in range(1,11)] #self.listModel.setStringList(self.title_list) #self.titleListView.setModel(self.listModel) self.titleListView.setMinimumWidth(50) self.titleListView.setMaximumWidth(150) # mainwindow layout self.mainwindowFrame=QFrame() self.mainwindowLayout=QHBoxLayout() self.mainwindowLayout.addWidget(self.leftFrame) self.mainwindowLayout.addWidget(self.titleListView) self.mainwindowFrame.setLayout(self.mainwindowLayout) self.mainwindowFrame.setStyleSheet("background-color:pink") # window buttons self.minButton=QPushButton("—") self.closeButton=QPushButton("×") self.closeButton.setObjectName("closeButton") self.minButton.setObjectName("minButton") self.minButton.clicked.connect(self.showMinimized) self.closeButton.clicked.connect(self.close) self.windownButtonFrame=QFrame() self.windownButtonLayout=QHBoxLayout() self.windownButtonLayout.addStretch(18) self.windownButtonLayout.addWidget(self.minButton,1) self.windownButtonLayout.addWidget(self.closeButton,1) self.windownButtonFrame.setLayout(self.windownButtonLayout) self.windownButtonFrame.setAttribute(Qt.WA_TranslucentBackground) # self layout self.mainlayout=QVBoxLayout() self.mainlayout.addWidget(self.windownButtonFrame) self.mainlayout.addWidget(self.mainwindowFrame) self.setLayout(self.mainlayout) #主窗口属性设置 self.setWindowTitle("唐诗宋词") self.setWindowIcon(QIcon("icon.jpg")) self.setGeometry(100,100,1000,800) self.setWindowFlag(Qt.FramelessWindowHint) self.setAttribute(Qt.WA_TranslucentBackground) #插入内容 self.putAll() #按钮链接到动作 self.nextButton.clicked.connect(self.nextButtonAction) self.previewButton.clicked.connect(self.previewButtonAction) self.titleListView.clicked.connect(self.titleListAction) #美化界面 #self.qssStyle=open("style.txt","rt",encoding="utf-8").read() self.setStyleSheet(self.mystyle) self.titleEdit.setAlignment(Qt.AlignCenter) self.authorEdit.setAlignment(Qt.AlignCenter) self.dynastyEdit.setAlignment(Qt.AlignCenter) self.contentEidt.setAlignment(Qt.AlignCenter) def readconfig(self): try: f=open("config.txt","rt") last_index=eval(f.read()) f.close() except: f1=open("config.txt","wt") f1.write("1") last_index=1 f1.close() return last_index def writeconfig(self): f2=open("config.txt","w") f2.write(str(self.index)) f2.close() def putTitle(self): title=GetPoetry.GetPoetryDetail.getTitle(GetPoetry,self.index) self.titleEdit.setReadOnly(False) self.titleEdit.setText(title) self.titleEdit.setReadOnly(True) def putAuthor(self): author=GetPoetry.GetPoetryDetail.getAuthorname(GetPoetry,self.index) self.authorEdit.setReadOnly(False) self.authorEdit.setText(author) self.authorEdit.setReadOnly(True) def putDynasty(self): dynasty=GetPoetry.GetPoetryDetail.getPubtime(GetPoetry,self.index) self.dynastyEdit.setReadOnly(False) self.dynastyEdit.setText(dynasty) self.dynastyEdit.setReadOnly(True) def putContent(self): content=GetPoetry.GetPoetryDetail.getContent(GetPoetry,self.index) self.contentEidt.setReadOnly(False) self.contentEidt.setText(content) self.contentEidt.setReadOnly(True) def putTitleList(self): titlelist=GetPoetry.GetPoetryDetail.getNotelist(GetPoetry) self.listModel.setStringList(titlelist) self.titleListView.setModel(self.listModel) self.titleListView.setCurrentIndex(self.listModel.index(self.index)) def putReadIndex(self): self.readIndexEdit.setReadOnly(False) string="正在阅读:第{: ^5}篇" self.readIndexEdit.setText(string.format(self.index+1)) self.readIndexEdit.setReadOnly(True) def putAll(self): self.putAuthor() self.putContent() self.putDynasty() self.putTitle() self.putTitleList() self.putReadIndex() def previewButtonAction(self): if self.index>0: self.index-=1 self.putAll() def nextButtonAction(self): if self.index<self.maxindex: self.index+=1 self.putAll() def titleListAction(self): self.index=self.titleListView.currentIndex().row() self.putAll() def mousePressEvent(self, event): if event.button()==Qt.LeftButton: self.m_drag=True self.m_DragPosition=event.globalPos()-self.pos() event.accept() self.setCursor(QCursor(Qt.OpenHandCursor)) def mouseMoveEvent(self, QMouseEvent): if Qt.LeftButton and self.m_drag: self.move(QMouseEvent.globalPos()-self.m_DragPosition) QMouseEvent.accept() def mouseReleaseEvent(self, QMouseEvent): self.m_drag=False self.setCursor(QCursor(Qt.ArrowCursor)) if __name__ == "__main__": app=QApplication(sys.argv) myReader=Reader() myReader.show() sys.exit(app.exec_()) ``` Qss代码如下: ```css QWidget { font: 10pt "微软雅黑"; background:transparent; border:0px; border-radius:30px } QLineEdit { border:0px } QFrame#pageButtonFrame { border:0px } QTextEdit { border:1px solid red; border-radius:20px } QListView { border:1px solod red; border-radius:10px } QLineEdit#titleEdit { font:18pt "微软雅黑"; } QPushButton#previewButton { border:2px solid red; color:#FF6600;font-size:8pt; padding :8px; border-radius:8px } QPushButton#previewButton:hover { color:white; border:1px solid red; background:#FF6600; } QPushButton#nextButton:hover { background:#FF6600; color:white; border:1px solid red; } QPushButton#nextButton { border:2px solid red; color:#FF6600;font-size:8pt; padding :8px; border-radius:8px } QPushButton#closeButton:hover { background-color:red; border-radius:10px; border:0px; color:white } QPushButton#closeButton { border-radius:10px; border:2px solid red; color:red; font-weight:700 } QPushButton#minButton:hover { background-color:pink; border-radius:10px; border:0px;color:white; } QPushButton#minButton { border-radius:10px; border:2px solid pink; color:pink; font-weight:700 } ``` 实际效果如图:![图片说明](https://img-ask.csdn.net/upload/201906/11/1560257058_167819.png)
ubantu16 安装opencv3.2 在 cmake时出项很多问题
FP16: Feature disabled -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.2.8", minimum required is "1.2.3") -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") -- Found OpenEXR: /usr/lib/x86_64-linux-gnu/libIlmImf.so CMake Warning at cmake/OpenCVFindLibsGUI.cmake:18 (find_package): By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Core", but CMake did not find one. Could not find a package configuration file provided by "Qt5Core" with any of the following names: Qt5CoreConfig.cmake qt5core-config.cmake Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set "Qt5Core_DIR" to a directory containing one of the above files. If "Qt5Core" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:556 (include) CMake Warning at cmake/OpenCVFindLibsGUI.cmake:19 (find_package): By not providing "FindQt5Gui.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Gui", but CMake did not find one. Could not find a package configuration file provided by "Qt5Gui" with any of the following names: Qt5GuiConfig.cmake qt5gui-config.cmake Add the installation prefix of "Qt5Gui" to CMAKE_PREFIX_PATH or set "Qt5Gui_DIR" to a directory containing one of the above files. If "Qt5Gui" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:556 (include) CMake Warning at cmake/OpenCVFindLibsGUI.cmake:20 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Widgets", but CMake did not find one. Could not find a package configuration file provided by "Qt5Widgets" with any of the following names: Qt5WidgetsConfig.cmake qt5widgets-config.cmake Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:556 (include) CMake Warning at cmake/OpenCVFindLibsGUI.cmake:21 (find_package): By not providing "FindQt5Test.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Test", but CMake did not find one. Could not find a package configuration file provided by "Qt5Test" with any of the following names: Qt5TestConfig.cmake qt5test-config.cmake Add the installation prefix of "Qt5Test" to CMAKE_PREFIX_PATH or set "Qt5Test_DIR" to a directory containing one of the above files. If "Qt5Test" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:556 (include) CMake Warning at cmake/OpenCVFindLibsGUI.cmake:22 (find_package): By not providing "FindQt5Concurrent.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Concurrent", but CMake did not find one. Could not find a package configuration file provided by "Qt5Concurrent" with any of the following names: Qt5ConcurrentConfig.cmake qt5concurrent-config.cmake Add the installation prefix of "Qt5Concurrent" to CMAKE_PREFIX_PATH or set "Qt5Concurrent_DIR" to a directory containing one of the above files. If "Qt5Concurrent" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:556 (include) -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found -- Found Qt4: /usr/bin/qmake (found version "4.8.7") -- Checking for module 'gstreamer-base-1.0' -- No package 'gstreamer-base-1.0' found -- Checking for module 'gstreamer-video-1.0' -- No package 'gstreamer-video-1.0' found -- Checking for module 'gstreamer-app-1.0' -- No package 'gstreamer-app-1.0' found -- Checking for module 'gstreamer-riff-1.0' -- No package 'gstreamer-riff-1.0' found -- Checking for module 'gstreamer-pbutils-1.0' -- No package 'gstreamer-pbutils-1.0' found -- Checking for module 'gstreamer-base-0.10' -- Found gstreamer-base-0.10, version 0.10.36 -- Checking for module 'gstreamer-video-0.10' -- Found gstreamer-video-0.10, version 0.10.36 -- Checking for module 'gstreamer-app-0.10' -- Found gstreamer-app-0.10, version 0.10.36 -- Checking for module 'gstreamer-riff-0.10' -- Found gstreamer-riff-0.10, version 0.10.36 -- Checking for module 'gstreamer-pbutils-0.10' -- Found gstreamer-pbutils-0.10, version 0.10.36 -- Checking for module 'libxine' -- No package 'libxine' found -- Looking for linux/videodev.h -- Looking for linux/videodev.h - not found -- Looking for linux/videodev2.h -- Looking for linux/videodev2.h - found -- Looking for sys/videoio.h -- Looking for sys/videoio.h - not found -- Checking for module 'libavresample' -- No package 'libavresample' found -- Checking for module 'libgphoto2' -- No package 'libgphoto2' found -- Found TBB: /usr/lib/x86_64-linux-gnu/libtbb.so CMake Error at cmake/OpenCVFindIPP.cmake:243 (include): include could not find load file: ...................... CMake Warning at CMakeLists.txt:1356 (message): The source directory is the same as binary directory. "make clean" may damage the source tree -- Configuring incomplete, errors occurred! See also "/home/zyz/文档/opencv-3.2.0/CMakeFiles/CMakeOutput.log". See also "/home/zyz/文档/opencv-3.2.0/CMakeFiles/CMakeError.log".
Qt creator用QMultimedia做视频播放器没图像
如题,我从网上参考了相关教程自己写了一个(原码在最后),是在Deepin环境下,编译是没错的,结果运行时弹出的窗口是全黑的,视频播放不出来,但奇怪的是有声音,即使把窗口关了也还有声音。如果我换到windows环境下,把相关的库和文件都改成windows的,也是没有报错,但直接连黑窗口都弹不出来了。我用的Qt5.9.1,创建工程时用的是QWidget基类(用其他的没写出来)。在百度上找了很长时间,说是没有gstreamer0.10-ffmpeg解码器,我试过了,这个解码器根本就下载不了。截图如下: ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500129864_271640.png) 关于安装这个解码器的问题,百度说直接从官网上找安装包手动下载,我把好多安装包下载完了,结果都提示不能安装:![图片说明](https://img-ask.csdn.net/upload/201707/15/1500130132_477133.png) 又有说是源的问题,我从网上找了好多源,然后挨个换,都不能安装。还有说系统要升级到最新,可是我也升级了啊,也没什么用。不想放弃,希望得到指点,如果能得到任何帮助,我将不胜感激。 原码如下: ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500130526_572704.png) ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500130595_767762.png) ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500130636_716614.png) ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500130685_741237.png) 那个player.ui我只是画了一些按钮,没有去实现,因为在播放这块儿卡住了。 这是.pro文件: #------------------------------------------------- # # Project created by QtCreator 2017-07-15T09:24:24 # #------------------------------------------------- QT += core gui\ multimedia\ multimediawidgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = test5 TEMPLATE = app # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked as deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ player.cpp HEADERS += \ player.h FORMS += \ player.ui ```这是头文件player.h: #ifndef PLAYER_H #define PLAYER_H #include <QWidget> #include <QMediaPlayer> #include <QVideoWidget> namespace Ui { class Player; } class Player : public QWidget { Q_OBJECT public: explicit Player(QWidget *parent = 0); ~Player(); private: Ui::Player *ui; QVideoWidget *videow; QMediaPlayer *player; }; #endif // PLAYER_H ```这是main.cpp: #include "player.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Player w; w.show(); return a.exec(); } ```这是player.cpp: #include "player.h" #include "ui_player.h" Player::Player(QWidget *parent) : QWidget(parent), ui(new Ui::Player) { ui->setupUi(this); videow = new QVideoWidget(); player = new QMediaPlayer(); player->setVideoOutput(videow); player->setMedia(QUrl::fromLocalFile(QStringLiteral("/home/joe/Videos/U6-1.mpg"))); videow->show(); player->play(); } Player::~Player() { delete ui; } ```
python调用摄像头动态更新三维灰度分布图
我想python调用摄像头动态更新三维灰度分布图,但发现在绘制的时候,前面绘制的图像不会被擦掉,而是重叠在一起,这要怎么改呢? ``` from DataDisplayUI import Ui_MainWindow from PyQt5.QtWidgets import QApplication,QMainWindow,QGridLayout from PyQt5.QtCore import QTimer import sys,time import cv2 import numpy as np import cv2 as cv from mpl_toolkits.mplot3d import Axes3D from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure from matplotlib.lines import Line2D import matplotlib import matplotlib.cbook as cbook class Figure_Canvas(FigureCanvas): def __init__(self,parent=None,width=3.9,height=2.7,dpi=100): self.fig=Figure(figsize=(width,height),dpi=50) #创建画布 super(Figure_Canvas,self).__init__(self.fig) # self.ax=self.fig.add_subplot() #创建子图 class ImgDisp(QMainWindow,Ui_MainWindow): def __init__(self,parent=None): super(ImgDisp,self).__init__(parent) self.setupUi(self) self.Init_Widgets() self.video_start() self.timer=QTimer() #QTimer定时器 self.timer.start(1000) #timer方法,开始执行,1代表循环周期 self.timer.timeout.connect(self.SurfUpdate) #连接到槽UpdateImgs,循环函数体 def Init_Widgets(self): self.PrepareSamples() self.PrepareSurfaceCanvas() def PrepareSamples(self): self.x = np.arange(-4, 4, 0.02) self.y = np.arange(-4, 4, 0.02) self.X, self.Y = np.meshgrid(self.x, self.y) self.z = np.sin(self.x) self.R = np.sqrt(self.X ** 2 + self.Y ** 2) self.Z = np.sin(self.R) def PrepareSurfaceCanvas(self): self.SurfFigure = Figure_Canvas() self.SurfFigureLayout = QGridLayout(self.SurfaceDisplayGB) self.SurfFigureLayout.addWidget(self.SurfFigure) self.SurfFigure.ax.remove() self.ax3d = self.SurfFigure.fig.gca(projection='3d') def video_start(self): self.cap = cv2.VideoCapture(0) # 打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置其他数值 self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) # 调节视频分辨率 self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) self.cap.set(cv2.CAP_PROP_SATURATION, 10) # 调节曝光 def SurfUpdate(self): ret, frame = self.cap.read() # 读取摄像头,它能返回两个参数,第一个参数是bool型的ret,其值为True或False,代表有没有读到图片;第二个参数是frame,是当前截取一帧的图片 img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 转灰度图 img= cv2.GaussianBlur(img, (5, 5), 0) #高斯滤波 img_date = np.array(img) # 每一帧存入循环数组 # 准备数据 sp = img_date.shape h = int(sp[0]) w = int(sp[1]) X = np.arange(0, w, 1) Y = np.arange(0, h, 1) X, Y = np.meshgrid(X, Y) Z = img_date self.Surf = self.ax3d.plot_surface(X, Y, Z, cmap='rainbow') self.SurfFigure.draw() if __name__=='__main__': app=QApplication(sys.argv) #创建一个应用程序对象 ui=ImgDisp() ui.show() sys.exit(app.exec_()) #退出 ```
QT中导入第三方库并使用,编译时给出LNK2019:无法解析的外部命令。
QT项目中导入libzplay这个第三方库用于音频处理,但是导入后使用时发生错误,显示 ``` mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_CreateZPlay,该符号在函数 "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z) 中被引用 ``` 尝试过重构项目并且重新QMake但是始终会产生这个问题,真的是无力了,希望有大佬能够帮下忙 下面是项目文件和我使用时的代码: ``` QT += core gui widgets TARGET = test_import_dll TEMPLATE = app DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 CONFIG += c++11 SOURCES += \ main.cpp \ mainwindow.cpp HEADERS += \ mainwindow.h FORMS += \ mainwindow.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target unix:!macx|win32: LIBS += -L$$PWD/../../DB_project/libzplay-2.02-sdk/C++/ -llibzplay INCLUDEPATH += $$PWD/../../DB_project/libzplay-2.02-sdk/C++ DEPENDPATH += $$PWD/../../DB_project/libzplay-2.02-sdk/C++ win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../DB_project/libzplay-2.02-sdk/C++/libzplay.lib else:unix:!macx|win32-g++: PRE_TARGETDEPS += $$PWD/../../DB_project/libzplay-2.02-sdk/C++/libzplay.a ``` 建了个mainwindow想在里面测试下结果使用不了: ``` #include "mainwindow.h" #include "ui_mainwindow.h" #include<libzplay.h> using namespace libZPlay; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ZPlay* p= CreateZPlay(); ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } ```
为什么PyQt5的QSS的QPushBotton的background-color设置无效?
PyQt5的QSS的QPushBotton的background-color设置无效。 [QT样式表设置背景色 background-color无效的原因](https://blog.csdn.net/qq_31073871/article/details/79965015 "")这篇文章中的方法无效。 主程序代码如下: ```python import sys from PyQt5.QtWidgets import QWidget,QPushButton,QLineEdit,QTextEdit,QHBoxLayout,QVBoxLayout,QLabel,QListView,QFrame,QApplication from PyQt5.QtCore import QEvent,Qt,QStringListModel from PyQt5.QtGui import QIcon,QCursor,QColor import GetPoetry import style class Reader(QWidget): mystyle = style.UiSyle().style def __init__(self): super().__init__() self.config_index=self.readconfig() self.index=self.config_index self.ReaderUI() self.maxindex=GetPoetry.GetPoetryDetail.getMaxIndex(GetPoetry) #self.mystyle=style.UiSyle() def ReaderUI(self): '''setup reader's UI''' # leftFrame self.leftFrame=QFrame() self.leftFrame.setMinimumWidth(200) ## add Frame self.readerFrame = QFrame() self.setObjectName("readerFrame") self.pageButtonFrame = QFrame() self.setObjectName("pageButtonFrame") ###Reader frame ##### add readerFrame widgets self.titleEdit=QLineEdit("title") self.titleEdit.setObjectName("titleEdit") self.authorEdit=QLineEdit("author") self.dynastyEdit=QLineEdit("dynasty") self.contentEidt=QTextEdit("content") self.authFrame=QFrame() #### readerFrame widgets Layout self.readerLayout = QVBoxLayout() ##### authFrame Layout ##### self.authFrameLayout = QHBoxLayout() self.authFrameLayout.addStretch(2) self.authFrameLayout.addWidget(self.authorEdit,1) self.authFrameLayout.addWidget(self.dynastyEdit,1) self.authFrameLayout.addStretch(2) self.authFrame.setLayout(self.authFrameLayout) ##### authFrame Layout ##### self.readerLayout.addWidget(self.titleEdit) self.readerLayout.addWidget(self.authFrame) self.readerLayout.addWidget(self.contentEidt) self.readerFrame.setLayout(self.readerLayout) ### pageButtonFrame #### add pageButtonFrame widgets self.nextButton=QPushButton("下一篇") self.nextButton.setObjectName("nextButton") self.previewButton=QPushButton("上一篇") self.previewButton.setObjectName("previewButton") self.readIndexEdit=QLineEdit("readIndexEdit") #### pageButtonFrame widgets Layout self.pageButtonLayout=QHBoxLayout() self.pageButtonLayout.addWidget(self.previewButton) self.pageButtonLayout.addStretch(1) self.pageButtonLayout.addWidget(self.readIndexEdit) self.pageButtonLayout.addStretch(1) self.pageButtonLayout.addWidget(self.nextButton) self.pageButtonFrame.setLayout(self.pageButtonLayout) ## leftFrame Layout self.leftFrameLayout=QVBoxLayout() self.leftFrameLayout.addWidget(self.readerFrame) self.leftFrameLayout.addWidget(self.pageButtonFrame) self.leftFrame.setLayout(self.leftFrameLayout) # right listView self.titleListView=QListView() self.listModel=QStringListModel() #self.title_list=[str(n) for n in range(1,11)] #self.listModel.setStringList(self.title_list) #self.titleListView.setModel(self.listModel) self.titleListView.setMinimumWidth(50) self.titleListView.setMaximumWidth(150) # mainwindow layout self.mainwindowFrame=QFrame() self.mainwindowLayout=QHBoxLayout() self.mainwindowLayout.addWidget(self.leftFrame) self.mainwindowLayout.addWidget(self.titleListView) self.mainwindowFrame.setLayout(self.mainwindowLayout) self.mainwindowFrame.setStyleSheet("background-color:pink") # window buttons self.minButton=QPushButton("—") self.closeButton=QPushButton("×") self.closeButton.setObjectName("closeButton") self.minButton.setObjectName("minButton") self.minButton.clicked.connect(self.showMinimized) self.closeButton.clicked.connect(self.close) self.windownButtonFrame=QFrame() self.windownButtonLayout=QHBoxLayout() self.windownButtonLayout.addStretch(18) self.windownButtonLayout.addWidget(self.minButton,1) self.windownButtonLayout.addWidget(self.closeButton,1) self.windownButtonFrame.setLayout(self.windownButtonLayout) self.windownButtonFrame.setAttribute(Qt.WA_TranslucentBackground) # self layout self.mainlayout=QVBoxLayout() self.mainlayout.addWidget(self.windownButtonFrame) self.mainlayout.addWidget(self.mainwindowFrame) self.setLayout(self.mainlayout) #主窗口属性设置 self.setWindowTitle("唐诗宋词") self.setWindowIcon(QIcon("icon.jpg")) self.setGeometry(100,100,1000,800) self.setWindowFlag(Qt.FramelessWindowHint) self.setAttribute(Qt.WA_TranslucentBackground) #插入内容 self.putAll() #按钮链接到动作 self.nextButton.clicked.connect(self.nextButtonAction) self.previewButton.clicked.connect(self.previewButtonAction) self.titleListView.clicked.connect(self.titleListAction) #美化界面 #self.qssStyle=open("style.txt","rt",encoding="utf-8").read() self.setStyleSheet(self.mystyle) self.titleEdit.setAlignment(Qt.AlignCenter) self.authorEdit.setAlignment(Qt.AlignCenter) self.dynastyEdit.setAlignment(Qt.AlignCenter) self.contentEidt.setAlignment(Qt.AlignCenter) def readconfig(self): try: f=open("config.txt","rt") last_index=eval(f.read()) f.close() except: f1=open("config.txt","wt") f1.write("1") last_index=1 f1.close() return last_index def writeconfig(self): f2=open("config.txt","w") f2.write(str(self.index)) f2.close() def putTitle(self): title=GetPoetry.GetPoetryDetail.getTitle(GetPoetry,self.index) self.titleEdit.setReadOnly(False) self.titleEdit.setText(title) self.titleEdit.setReadOnly(True) def putAuthor(self): author=GetPoetry.GetPoetryDetail.getAuthorname(GetPoetry,self.index) self.authorEdit.setReadOnly(False) self.authorEdit.setText(author) self.authorEdit.setReadOnly(True) def putDynasty(self): dynasty=GetPoetry.GetPoetryDetail.getPubtime(GetPoetry,self.index) self.dynastyEdit.setReadOnly(False) self.dynastyEdit.setText(dynasty) self.dynastyEdit.setReadOnly(True) def putContent(self): content=GetPoetry.GetPoetryDetail.getContent(GetPoetry,self.index) self.contentEidt.setReadOnly(False) self.contentEidt.setText(content) self.contentEidt.setReadOnly(True) def putTitleList(self): titlelist=GetPoetry.GetPoetryDetail.getNotelist(GetPoetry) self.listModel.setStringList(titlelist) self.titleListView.setModel(self.listModel) self.titleListView.setCurrentIndex(self.listModel.index(self.index)) def putReadIndex(self): self.readIndexEdit.setReadOnly(False) string="正在阅读:第{: ^5}篇" self.readIndexEdit.setText(string.format(self.index+1)) self.readIndexEdit.setReadOnly(True) def putAll(self): self.putAuthor() self.putContent() self.putDynasty() self.putTitle() self.putTitleList() self.putReadIndex() def previewButtonAction(self): if self.index>0: self.index-=1 self.putAll() def nextButtonAction(self): if self.index<self.maxindex: self.index+=1 self.putAll() def titleListAction(self): self.index=self.titleListView.currentIndex().row() self.putAll() def mousePressEvent(self, event): if event.button()==Qt.LeftButton: self.m_drag=True self.m_DragPosition=event.globalPos()-self.pos() event.accept() self.setCursor(QCursor(Qt.OpenHandCursor)) def mouseMoveEvent(self, QMouseEvent): if Qt.LeftButton and self.m_drag: self.move(QMouseEvent.globalPos()-self.m_DragPosition) QMouseEvent.accept() def mouseReleaseEvent(self, QMouseEvent): self.m_drag=False self.setCursor(QCursor(Qt.ArrowCursor)) if __name__ == "__main__": app=QApplication(sys.argv) myReader=Reader() myReader.show() sys.exit(app.exec_()) ``` QSS代码如下 ```css QWidget { font: 10pt "微软雅黑"; background:transparent; border:0px; border-radius:30px } QLineEdit { border:0px } QFrame#pageButtonFrame { border:0px } QTextEdit { border:1px solid red; border-radius:20px } QListView { border:1px solod red; border-radius:10px } QLineEdit#titleEdit { font:18pt "微软雅黑"; } QPushButton#previewButton { border:2px solid red; color:#FF6600;font-size:8pt; padding :8px; border-radius:8px } QPushButton#previewButton:hover { color:white; border:1px solid red; background:#FF6600; } QPushButton#nextButton:hover { background:#FF6600; color:white; border:1px solid red; } QPushButton#nextButton { border:2px solid red; color:#FF6600;font-size:8pt; padding :8px; border-radius:8px } QPushButton#closeButton:hover { background-color:red; border-radius:10px; border:0px; color:white } QPushButton#closeButton { border-radius:10px; border:2px solid red; color:red; font-weight:700 } QPushButton#minButton:hover { background-color:pink; border-radius:10px; border:0px;color:white; } QPushButton#minButton { border-radius:10px; border:2px solid pink; color:pink; font-weight:700 } ```
Kettle DB连接报错,InvocationTargetException
kettle 新手,刚刚下载好kettle后想要连接数据库,却出现如下bao'cuo org.pentaho.ui.xul.XulException: org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:144) at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:127) at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:121) at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:252) at org.pentaho.ui.database.DatabaseConnectionDialog.getSwtInstance(DatabaseConnectionDialog.java:56) at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.createDialog(XulDatabaseDialog.java:144) at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:105) at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:59) at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:464) at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:451) at org.pentaho.di.ui.spoon.Spoon.newConnection(Spoon.java:8728) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313) at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157) at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141) at org.pentaho.ui.xul.jface.tags.JfaceMenuitem.access$100(JfaceMenuitem.java:43) at org.pentaho.ui.xul.jface.tags.JfaceMenuitem$1.run(JfaceMenuitem.java:106) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1319) at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7939) at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9190) at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:654) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92) Caused by: org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException at org.pentaho.ui.xul.impl.XulParser.getElement(XulParser.java:239) at org.pentaho.ui.xul.impl.XulParser.parse(XulParser.java:164) at org.pentaho.ui.xul.impl.XulParser.parseDocument(XulParser.java:85) at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:136) ... 36 more Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2155) at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2141) at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1948) at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2054) at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1015) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.pentaho.ui.xul.impl.XulParser.getElement(XulParser.java:235) ... 39 more Caused by: java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; ([Ljava.lang.Object; and [Ljava.lang.String; are in module java.base of loader 'bootstrap') at org.pentaho.ui.xul.swt.tags.SwtDialog.setButtons(SwtDialog.java:268) ... 51 more
QT 简单QNetwork历程无法使用
新手求教,历程无法使用,在debug的时候在replyfinished函数开始处设置断点,一直没有触发 这是pro文件: QT += core gui network QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = weatherget TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui 这是头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QNetworkAccessManager> #include <QtNetwork/QNetworkReply> #include <QtNetwork/QNetworkRequest> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: void replyFinished(QNetworkReply*); private: Ui::MainWindow *ui; QNetworkAccessManager *manager; }; #endif // MAINWINDOW_H 这是源文件: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QTextCodec> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QUrl url(QString("http://www.weather.com.cn/adat/sk/101010100.html")); manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setHeader(QNetworkRequest::ContentTypeHeader,"application/json"); request.setUrl(url); manager->get(request); connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*))); } MainWindow::~MainWindow() { delete ui; } void MainWindow::replyFinished(QNetworkReply *reply) { QTextCodec *codec = QTextCodec::codecForName("utf8"); QString all=codec->toUnicode((reply->readAll())); ui->textBrowser->setText(all); reply->deleteLater(); }
eclipse下载后打不开,提示查看log文件
!SESSION 2019-07-29 12:10:42.472 ----------------------------------------------- eclipse.buildId=4.4.2.M20150204-1700 java.version=12.0.2 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN Framework arguments: -product org.eclipse.epp.package.standard.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.standard.product !ENTRY org.eclipse.oomph.setup.editor 4 0 2019-07-29 12:10:46.386 !MESSAGE FrameworkEvent ERROR !STACK 0 org.osgi.framework.BundleException: Could not resolve module: org.eclipse.oomph.setup.editor [215] Unresolved requirement: Require-Bundle: org.eclipse.oomph.setup.ui; bundle-version="[1.14.0,2.0.0)" -> Bundle-SymbolicName: org.eclipse.oomph.setup.ui; bundle-version="1.14.0.v20190704-1252"; singleton:="true" org.eclipse.oomph.setup.ui [219] Unresolved requirement: Require-Bundle: org.eclipse.userstorage.ui; bundle-version="[1.0.2,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.userstorage.oauth; bundle-version="[1.0.0,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.nebula.widgets.tablecombo; bundle-version="[1.0.0,2.0.0)" -> Bundle-SymbolicName: org.eclipse.nebula.widgets.tablecombo; bundle-version="1.2.0.201907151344" org.eclipse.nebula.widgets.tablecombo [194] Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))" at org.eclipse.osgi.container.Module.start(Module.java:434) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) !ENTRY org.eclipse.oomph.setup.ui 4 0 2019-07-29 12:10:46.386 !MESSAGE FrameworkEvent ERROR !STACK 0 org.osgi.framework.BundleException: Could not resolve module: org.eclipse.oomph.setup.ui [219] Unresolved requirement: Require-Bundle: org.eclipse.userstorage.ui; bundle-version="[1.0.2,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.userstorage.oauth; bundle-version="[1.0.0,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.nebula.widgets.tablecombo; bundle-version="[1.0.0,2.0.0)" -> Bundle-SymbolicName: org.eclipse.nebula.widgets.tablecombo; bundle-version="1.2.0.201907151344" org.eclipse.nebula.widgets.tablecombo [194] Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))" at org.eclipse.osgi.container.Module.start(Module.java:434) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) !ENTRY org.eclipse.oomph.setup.ui.questionnaire 4 0 2019-07-29 12:10:46.386 !MESSAGE FrameworkEvent ERROR !STACK 0 org.osgi.framework.BundleException: Could not resolve module: org.eclipse.oomph.setup.ui.questionnaire [220] Unresolved requirement: Require-Bundle: org.eclipse.oomph.setup.ui; bundle-version="[1.10.0,2.0.0)" -> Bundle-SymbolicName: org.eclipse.oomph.setup.ui; bundle-version="1.14.0.v20190704-1252"; singleton:="true" org.eclipse.oomph.setup.ui [219] Unresolved requirement: Require-Bundle: org.eclipse.userstorage.ui; bundle-version="[1.0.2,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.userstorage.oauth; bundle-version="[1.0.0,2.0.0)"; x-installation:="greedy"; resolution:="optional" Unresolved requirement: Require-Bundle: org.eclipse.nebula.widgets.tablecombo; bundle-version="[1.0.0,2.0.0)" -> Bundle-SymbolicName: org.eclipse.nebula.widgets.tablecombo; bundle-version="1.2.0.201907151344" org.eclipse.nebula.widgets.tablecombo [194] Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))" at org.eclipse.osgi.container.Module.start(Module.java:434) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 上面是log文件的内容
ubuntu64位qmake出来的makefile文件出了问题
**/usr/bin/ld: skipping incompatible /opt/qt/5.2.0/gcc/lib/libQt5Widgets.so when searching for -lQt5Widgets /usr/bin/ld: cannot find -lQt5Widgets **/usr/bin/ld: skipping incompatible /opt/qt/5.2.0/gcc/lib/libQt5Gui.so when searching for -lQt5Gui /usr/bin/ld: cannot find -lQt5Gui** **/usr/bin/ld: skipping incompatible /opt/qt/5.2.0/gcc/lib/libQt5Core.so when searching for -lQt5Core /usr/bin/ld: cannot find -lQt5Core**** 提示出错目录看了一下 都有这些.so文件 为何会出错?? 听说要加-m32 不知道加在哪里 makefile前几条也贴出来吧。 CC = gcc CXX = g++ DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES) CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES) INCPATH = -I/opt/qt/5.2.0/gcc/mkspecs/linux-g++ -I. -I/opt/qt/5.2.0/gcc/include -I/opt/qt/5.2.0/gcc/include/QtWidgets -I/opt/qt/5.2.0/gcc/include/QtGui -I/opt/qt/5.2.0/gcc/include/QtCore -I. -I. 19 LINK = g++ 20 LFLAGS = -Wl,-O1 -Wl,-rpath,/opt/qt/5.2.0/gcc -Wl,-rpath,/opt/qt/5.2. 0/gcc/lib 21 LIBS = $(SUBLIBS) -L/opt/qt/5.2.0/gcc/lib -lQt5Widgets -lQt5Gui -lQ t5Core -lGL -lpthread 22 AR = ar cqs 23 RANLIB = 24 QMAKE = /usr/lib/x86_64-linux-gnu/qt4/bin/qmake 请大牛指点迷津
TypeError: len() of unsized object
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "E:\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile execfile(filename, namespace) File "E:\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 88, in execfile exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace) File "F:/05paper/graduation paper/Gmm/expertInstitution.py", line 27, in <module> main() File "F:/05paper/graduation paper/Gmm/expertInstitution.py", line 23, in main scholarInstition() File "F:/05paper/graduation paper/Gmm/expertInstitution.py", line 17, in scholarInstition if scholarData.iloc[j,0]==paperId.iloc[i]: File "E:\Anaconda3\lib\site-packages\pandas\core\ops.py", line 739, in wrapper if len(self) != len(other): TypeError: len() of unsized object
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背
有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好。想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着”背“来记忆的,所以今天的这篇文章,讲给大家详细着讲解他们是如何通信的,让大家尽量能够理解他们之间的区别、优缺点等,这样的话,以后面试官让你举例子,你也能够顺手拈来。 1、管道 我们来看一条 Linux 的语句 netstat -tulnp | gr...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
网络(8)-HTTP、Socket、TCP、UDP的区别和联系
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。 一、TCP与UDP的不同 1. 是否需要建立连接。 UDP在传送数据之前不需要先建立连接;TCP则提供面向连接的服务; 2. 是否需要给出确认 对方的传输层在收到UDP报文后,不需要给出任何确认,而 TCP需要给出确认报文,要提供可靠的、面向连接的传输服务。 3.虽然UDP不提供可靠交...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
开挂的人生!那些当选院士,又是ACM/IEEE 双料Fellow的华人学者们
昨日,2019年两院院士正式官宣,一时间抢占了各大媒体头条。 朋友圈也是一片沸腾,奔走相告,赶脚比自己中了大奖还嗨皮! 谁叫咱家导师就是这么厉害呢!!! 而就在最近,新一年度的IEEE/ACM Fellow也将正式公布。 作为学术届的顶级荣誉,不自然地就会将院士与Fellow作比较,到底哪个含金量更高呢? 学术君认为,同样是专业机构对学者的认可,考量标准不一,自然不能一概而论。 但...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库——点这里跳转 文章目录Python语言高频重点汇总**GitHub面试宝典仓库——点这里跳转**1. 函数-传参2. 元类3. @staticmethod和@classmethod两个装饰器4. 类属性和实例属性5. Python的自省6. 列表、集合、字典推导式7. Python中单下划线和双下划线8. 格式化字符串中的%和format9.
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
代码详解:如何用Python快速制作美观、炫酷且有深度的图表
全文共12231字,预计学习时长35分钟生活阶梯(幸福指数)与人均GDP(金钱)正相关的正则图本文将探讨三种用Python可视化数据的不同方法。以可视化《2019年世界幸福报告》的数据为例,本文用Gapminder和Wikipedia的信息丰富了《世界幸福报告》数据,以探索新的数据关系和可视化方法。《世界幸福报告》试图回答世界范围内影响幸福的因素。报告根据对“坎特里尔阶梯问题”的回答来确定幸...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。 (一)初进校园 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉...
如何写一篇技术博客,谈谈我的看法
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 我一直推崇学技术可以写技术博客去沉淀自己的知识,因为知识点实在是太多太多了,通过自己的博客可以帮助自己快速回顾自己学过的东西。 我最开始的时候也是只记笔记,认为自己能看得懂就好。但如果想验证自己是不是懂了,可以写成技术博客。在写技术博客的...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【设计模式】单例模式的八种写法分析
网上泛滥流传单例模式的写法种类,有说7种的,也有说6种的,当然也不排除说5种的,他们说的有错吗?其实没有对与错,刨根问底,写法终究是写法,其本质精髓大体一致!因此完全没必要去追究写法的多少,有这个时间还不如跟着宜春去网吧偷耳机、去田里抓青蛙得了,一天天的....
《面试宝典》:检验是否为合格的初中级程序员的面试知识点,你都知道了吗?查漏补缺
欢迎关注文章系列,一起学习 《提升能力,涨薪可待篇》 《面试知识,工作可待篇》 《实战演练,拒绝996篇》 也欢迎关注公 众 号【Ccww笔记】,原创技术文章第一时间推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《面试知识,工作可待篇》-Java笔试面试基础知识大全 前言 是不是感觉找工作面试是那么难呢? 在找工作面试应在学习的基础进行总结面试知识点,工作也指日可待,欢...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
微博推荐算法简述
在介绍微博推荐算法之前,我们先聊一聊推荐系统和推荐算法。有这样一些问题:推荐系统适用哪些场景?用来解决什么问题、具有怎样的价值?效果如何衡量? 推荐系统诞生很早,但真正被大家所重视,缘起于以”facebook”为代表的社会化网络的兴起和以“淘宝“为代表的电商的繁荣,”选择“的时代已经来临,信息和物品的极大丰富,让用户如浩瀚宇宙中的小点,无所适从。推荐系统迎来爆发的机会,变得离用户更近: 快...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问