我有一个包含几个SQL语句的文件,我想用它来初始化一个新的sqlite3数据库文件.显然,sqlite3只通过 sqlite3_exec()
函数处理一个查询中的多个语句,而不是通过prepare/step/finalize
函数处理.这一切都很好,但我想直接使用QtSQL api而不是c api.通过QSqlQuery加载到相同的初始化文件中只执行第一个语句,就像直接使用sqlite3 api中的prepare/step/finalize函数一样.有没有办法让QSqlQuery运行多个查询,而无需为每个语句单独调用query.exec()?
我有一段代码在4.8中工作但现在我需要将它移植到Qt5(beta2)
这应该发生:
我想将一些数据发布到网络服务器,网址应该是这样的"http:// server/actions.php"然后我的字段("Action"-string和"data"字符串(json))应该使用post发送到服务器.未在网址中编码
QUrl params;
// The data to post
QVariantMap map;
map["Title"]="The title";
map["ProjectId"]="0";
map["Parent"]="0";
map["Location"]="North pole";
map["Creator"]="You";
map["Group"]="a group";
QByteArray data = Json::serialize(map); //the map is converted to json im a QByteArray
params.addEncodedQueryItem("Data",data);
params.addQueryItem("Action", "Update");
QNetworkRequest Request(QUrl("http://server.com/actions.php"));
Request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
NetManager->post(Request,params.encodedQuery());
Run Code Online (Sandbox Code Playgroud)
现在,我可能不会在第一时间做到这一点,(它工作在4.8)但真正的问题是addEncodedQueryItem和addQueryItem现在从Qt5开始消失了,我不知道应该用它替换它们.
我已经阅读了新文档并看到了新的QUrlQuery,但我无法弄清楚如何在我的情况下使用它.
我需要将标签图像放入Qt Widget中
我已经尝试在小部件上放置一个标签,然后在我选择的文本右侧的属性上选择pixmap
并选择我想要使用的图像.
但是,当我运行该程序时,没有图像出现任何想法为什么会这样?
我也尝试过:
QLabel label("<img src='image.jpg' />");
label.show();
Run Code Online (Sandbox Code Playgroud)
但没有运气,不要以为我正在使用它
我用QCompleter
用QLineEdit
,我想更新QCompleter
动态的模型.即根据QLineEdit
文字更新模型的内容.
1)mdict.h
#include <QtGui/QWidget>
class QLineEdit;
class QCompleter;
class QModelIndex;
class mdict : public QWidget
{
Q_OBJECT
public:
mdict(QWidget *parent = 0);
~mdict() {}
private slots:
void on_textChanged(const QString &text);
private:
QLineEdit *mLineEdit;
QCompleter *mCompleter;
};
Run Code Online (Sandbox Code Playgroud)
2)mdict.cpp
#include <cassert>
#include <QtGui>
#include "mdict.h"
mdict::mdict(QWidget *parent) : QWidget(parent), mLineEdit(0), mCompleter(0)
{
mLineEdit = new QLineEdit(this);
QPushButton *button = new QPushButton(this);
button->setText("Lookup");
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(mLineEdit);
layout->addWidget(button);
setLayout(layout);
QStringList stringList;
stringList << …
Run Code Online (Sandbox Code Playgroud) 在QT中,创建lineEdit
的使用该setText()
方法显示文本.
但是光标可以移动默认文本.我希望光标不能为默认文本移动.
我的lineEdit
类型已设置为密码.因此,默认文本("密码")也显示为"********".每当用户输入类型时,必须将类型更改为密码,当没有文本或用户没有输入任何文本时,lineEdit
应显示纯文本"密码"
有什么想法解决上述两个问题?
就这么简单,我一直在寻找数小时而没有找到解决方案.我有一个QTableView
连接到一个QStandardItemModel
,我只想更改它的QTableView
标题名称.现在只有1,2,3等等.
我有一堆QLineEdit
盒子,我想删除边框.理想情况下,我想用一行代码执行此操作,而不必为每个QLineEdit
框设置任何边框.我试图使用QLineEdit::setFrame(false);
但这会返回非静态成员函数的非法调用.建议?
我有一个包含主窗口小部件的主窗口,其中设置了垂直布局。向布局添加了一个QTableWidget
(暂时)。
当我启动应用程序并在 main_window 上调用 show 时,只显示了其中的一部分QTableWidget
。我可以手动扩展窗口以查看所有内容,但我希望窗口的大小能够很好地适应QTableWidget
.
谷歌搜索这个问题发现了很多关于如何使用调整大小为任意大小的帖子,并调用resize(int)
工作正常,但这并不是我要问的
许多其他帖子不够明确,例如“使用 sizePolicy”或“使用frameGeometry
”或“使用几何”或“使用sizeHint
”。我相信他们所有人都可能是对的,但是一个关于如何做的例子会很棒。
表A具有多个列,其中包括FirstName
与LastName
表B具有不同的列,包括FirstName
,LastName
和EmployeeID
我添加EmployeeID
到表答:我现在想填充表A的Employee ID
"从表B公司的S Employee ID
的,使用的名字和姓氏(我们目前还没有一个具有相同名称的工作-此表的设计很奇怪这样的)
我尝试了一些事情,但我一直回过头来
INSERT INTO TableA (EMPLOYEE_ID) A
SELECT B.EMPLOYEE_ID FROM TableB B
WHERE A.First_name = B.First_name
AND A.Last_name = B.Last_name
Run Code Online (Sandbox Code Playgroud)
但我一直得到一个语法错误 - MySQL服务器版本正确的语法在A附近使用.我不知道在处理Insert
语句时如何使用这种语法,或者如果这是正确的方法.
我正在研究QT v5.2
我需要QLineEdit
永久隐藏闪烁的光标(插入符号).但与此同时,我希望它QLineEdit
是可编辑的(因此readOnly和/或设置可编辑的false不适合我).
我已经在更改QLineEdit
焦点时的背景颜色,因此我将知道QLineEdit
正在编辑哪个小部件.根据我的要求,光标(闪烁文本光标)显示不应该在那里.
我试过了styleSheets
,但我无法隐藏光标( {color:transparent; text-shadow:0px 0px 0px black;} )
有人可以告诉我如何实现这一目标?