实现拖拽文件的步骤如下:
首先我们需要先将控件埋历设置成下图的属性(一般不需要设置,默认是打开的)。
然后弯辩搜新建"MyWidget.py"文件,重写相应控件的类。
最后,在QT Designer中新建"Promote"。
输入类灶此名和头文件名,这里的类名和头文件要和之前新建的.py文件名和重写的类名一致。
重新点击控件,右键选择下图的选项,如果其他同类的控件也需要这个功能,也可设置。
完成以上步骤后,重新加载UI即可。
在一个窗体上有多个可编辑控件(比如QLineEdit、QTextEdit等),当哪个控件获得埋猛焦点,哪个控件的背景就高亮用来起提示作用,查了下文档应该用focusInEvent()和focusOutEvent(),在实际过程中,我犯了十分严重的错误,最开始的时候我是这样做的:窗体QWidget的这两个函数,然后再在函数体中把弯神桥QFocusEvent事件传递给窗体上的QLineEdit控件。既然是要控件得到焦点改变动作,则应该重写该控件的focusInEvent()和focusOutEvent(),即重写QLineEdit类,再重新定瞎晌义这两个处理函数,然后再在主程序中,include我们自己重写的QLineEdit头文件。
老兄,好象你这里出错number = new QLineEdit(this,"number")QLineEdit构造函数的第一个参数是QString类,第二个才是父窗口参数;str = number ->text.toString()
这句也出错,number->text()才对,而闹纤轮且它就直接返回液信是QString类了,为什么还要转换为String呢?何况没有这个函数啊(toString()在这里是没有的
另外,如果用str = number ->text()也会出错。str是地址,右边是字符串,应竖稿该改为:
*str = number ->text.toString()
你再试试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)